Galerie médií LibreOffice

Obsah

Galerie médií

Galerie je určena pro jednoduché vkládání obrázků, zvuků či jiných multimédií do vytvářených dokumentů. Obrázky jsou v ní setříděny do kategorií. Uživatel si může vytvářet vlastní galerie. Jednotlivé obrázky se z galerie do dokumentu přetahují myší.

Galerie si ukládá informace do souborů *.thm, *.sdv a *.sdg. Soubory jsou na Linuxu uloženy ve složce "/home/jmeno-uzivatele/.config/libreoffice/4/user/gallery/" na Windows 7 ve složce "C:\Users\jmeno-uzivatele\AppData\Roaming\LibreOffice\4\user\gallery".

Složku pro uložení lze v nastavení změnit.

Chování galerie při přidání položek

Pokud jsou obrázky, videa či zvuky uloženy v souborech a poté přidány do galerie (buď přetažením myší, nebo dialogem pro přidání souborů do galerie), tak se ve skutečnosti do galerie žádný soubor neuloží, pouze odkaz na původní umístění.

Pokud se obrázek z dokumentu přetáhne myší do galerie, tak se soubor uloží do složky "dragdrop" ve složce galerie. Některé objekty jako grafy, vzorce, OLE objekty (sešit, kresba, vzorec, graf, prezentace, či jiný soubor) a obrázky vložené přes "schránku" a přetažené do galerie se též uloží do složky "dragdrop", ale ve formátu *.svm (tzv. zástupný interní formát LO).

Nakreslené čáry, tvary, diagramy, písmenomalby a textová pole přetažená do galerie se uloží pouze do souboru galerie *.sdv jako SVRLE2 objekt, v souboru *.sdg je pouze odkaz. Pokud se přetáhne položka z galerie do dokumentu, a poté se přetáhne do jiné galerie, tak se většinou uloží pouze do souboru galerie *.sdv jako SVRLE2 objekt a v souboru *.sdg je pouze odkaz.

Popis souborů galerie

Soubor *.thm

Obsahuje název galerie zobrazený v LO. Jsou v něm uloženy odkazy na SVRLE2 objekty (čáry, diagramy...) uložené v SDV souboru. Obsahuje cesty k obrázkům na disku, které se zobrazují v galerii. Seznam odkazů je vždy aktuální, pokud odeberete položku z galerie, tak se z tohoto souboru odkaz smaže. Pokud je obrázek na disku smazán a v THM souboru je k němu uložena cesta, tak při aktualizaci galerie (Galerie -> pravé myšítko -> Aktualizace) se položka obsahující tento obrázek odstraní. Při smazání THM souboru přijdete o všechny položky, které se odkazovaly na soubory uložené na disku. Přijdete též o položky vedoucí na SVRLE2 objekty uložené v SDV souboru, ty se však dají dodatečně vygenerovat opravným skriptem. Přijdete taktéž o název galerie.

Soubor *.sdg

Obsahuje vygenerované náhledy, ručně přidané nadpisy položek v galerii a cesty k souborům na disku a odkazy na SVRLE2 objekty uložené v SDV souboru. Obsahuje stejné odkazy jako soubor THM, avšak jsou v něm uloženy odkazy na smazané položky galerie. Při aktualizaci galerie (Galerie -> pravé myšítko -> Aktualizace) se odstraní odkazy, náhledy a nadpisy patřící smazaným položkám, též dojde k aktualizaci náhledů a odstranění duplicit. Při smazání SDG souboru přijdete pouze o ručně přidané nadpisy položek galerie.

Soubor *.sdv

Obsahuje SVRLE2 objekty (čáry, tvary, diagramy, textová pole, písmenomalba...), jsou sem též ukládány položky přetažené z jiných galerií - pokud nešly uložit jako soubor. Obsahuje generované jedinečné názvy SVRLE2 objektů. Při aktualizaci galerie či smazání položky z galerie se v SDV souboru nic nemaže, tím pádem se jeho velikost pořád zvětšuje. Veškeré SVRLE2 objekty uložené v SDV souboru se dají dodatečně zpřístupnit opravným skriptem - tímto lze zpřístupnit smazané položky z galerie. Při smazání SDV souboru přijdete o všechny položky galerie, které nešly uložit jako soubor na disk.

Příkazy pro analýzu souborů galerie

Pouze platné odkazy v THM souboru

strings -a -3 -e s test.thm

Veškeré odkazy v SDG souboru

strings -a -5 -e s test.sdg | egrep "(^private:)|(^file:)"

Všechna jména SVRLE2 objektů v SDV souboru

strings -a -6 -e l test.sdv | egrep "^dd[0-9]+$"

Počet všech vložených SVRLE2 objektů v SDV souboru

strings -a -6 -e s test.sdv | grep -c "SVRLE2"

Výpis odkazů v SDG souboru

private:gallery/svdraw/dd2000
private:gallery/svdraw/dd2001
private:gallery/svdraw/dd2002
private:gallery/svdraw/dd2003
file:///DATA/knihy/kniha_hradu_nahled.png
file:///DATA/video/klipy%20youtube/Shakira/Waka%20Waka.mp4
file:///DATA/video/klipy%20youtube/Shakira/Audio/Shakira%20-%20La%20La.m4a
file:///home/zbynek/Plocha/Galerie-LO/SouboryGalerie_Test/sipka.svg
file:///home/zbynek/Plocha/Galerie-LO/SouboryGalerie_Test/lahev.jpg
file:///home/zbynek/Plocha/Galerie-LO/SouboryGalerie_Test/sipka2.svg
file:///home/zbynek/Plocha/Galerie-LO/dragdrop/dd2010.png
file:///home/zbynek/Plocha/Galerie-LO/dragdrop/dd2011.svm

Při zakládání galerie se LO nechová korektně

Chybu hlásit nebudu, jelikož neumím anglicky a mail na vstřícného vývojáře neznám.

Popis problému

Když vytvoříte novou galerii v LO, tak se soubory uloží pod názvy:

nový motiv vzhledu.thm
nový motiv vzhledu.sdv
nový motiv vzhledu.sdg

Pokud galerii naplníte obrázky a galerii zaktualizujete (vybraná galerie -> pravé myšítko -> Aktualizace), tak se vytvoří nové soubory:

nový%20motiv%20vzhledu.sdv
nový%20motiv%20vzhledu.sdg

Pokud zavřete a znovu spustíte LO Draw, tak se náhledy položek galerie nezobrazí správně. Buď se zobrazí náhledy neodpovídající uložené položce, nebo se nezobrazí náhledy žádné, pouze při najetí myši nad položku se zobrazí prázdný černě orámovaný bílý čtverec. Naštěstí při ukládání položek a popisů LO nové soubory "nový%20motiv%20vzhledu.sdv/.sdg" ignoruje, a ukládá informace do původních souborů "nový motiv vzhledu.thm/.sdv/.sdg".

Obejití problému

Zavřete LO a smažte soubory:

nový%20motiv%20vzhledu.sdv
nový%20motiv%20vzhledu.sdg

Soubory přejmenujte:

nový motiv vzhledu.thm
nový motiv vzhledu.sdv
nový motiv vzhledu.sdg

na název bez mezer a velkých písmen, třeba na:

znacky_elektro.thm
znacky_elektro.sdv
znacky_elektro.sdg

Spusťte LO Draw a zaktualizujte galerii (vybraná galerie -> pravé myšítko -> Aktualizace). Odteď se bude galerie chovat korektně.

Doporučený postup výroby galerie

1. Složka pro galerie

Odteď se budou všechny vytvořené galerie ukládat do "/home/jmeno-uzivatele/Galerie-LO".

2. Vytvoření galerie "Značky elektro"

3. Přejmenování souborů galerie "Značky elektro"

Soubory přejmenujte:

nový motiv vzhledu.thm
nový motiv vzhledu.sdv
nový motiv vzhledu.sdg

na název "znacky_elektro" bez mezer a velkých písmen:

znacky_elektro.thm
znacky_elektro.sdv
znacky_elektro.sdg

4. Úprava galerie "Značky elektro"

Pokud se některé obrázky uloží do složky "dragdrop" umístěné ve složce s galerií "/home/jmeno-uzivatele/Galerie-LO", tak je potřeba tyto soubory přemístit do složky "znacky_elektro" a pak je myší přetáhnout do galerie. Potom je nutné zaktualizovat galerii (vybraná galerie -> pravé myšítko -> Aktualizace), tím se odstraní již neplatné odkazy na složku "dragdrop". Pokud byly u těchto obrázků přidávány ručně nadpisy, bude nutné je znovu přidat.

5. Export galerie "Značky elektro"

Doporučuji 7zip, má lepší kompresi a zvládá korektně UTF8 na všech Windows, takže vám česky pojmenované soubory obrázků nebudou dělat potíže při přenášení mezi různými operačními systémy.

6. Import galerie "Značky elektro"

Pokud byly všechny obrázky uloženy ve složce "znacky_elektro", tak by měly být všechny položky galerie funkční.

Oprava galerie

Zpřístupnění SVRLE2 objektů (kreseb, diagramů...) v SDV souboru.

Jméno skriptu: _OpravGalerii.sh
Obsah souboru:

#!/bin/bash
# (c) Zbynek Gavenda gazb@centrum.cz

if [ -f "naopravu.sdv" ]; then
	if [ -f "0_opraveno.sdv" ] || [ -f "0_opraveno.thm" ] || [ -f "0_opraveno.sdg" ]; then
		echo ""
		echo " Soubor/y presunte do jine slozky ci smazte:"

		if [ -f "0_opraveno.sdv" ]; then
			echo "  0_opraveno.sdv"
		fi
		if [ -f "0_opraveno.thm" ]; then
			echo "  0_opraveno.thm"
		fi
		if [ -f "0_opraveno.sdg" ]; then
			echo "  0_opraveno.sdg"
		fi

		echo ""
	else 

cp naopravu.sdv 0_opraveno.sdv
echo -n -e \\x04\\x00\\x0A\\x00\\x30\\x5F\\x6F\\x70\\x72\\x61\\x76\\x65\\x6E\\x6F > 0_opraveno.thm
strings -a -6 -e l 0_opraveno.sdv | egrep "^dd[0-9][0-9][0-9][0-9]$" | sort -u | grep -c "dd" | awk '{ printf "%c",$1 };' >> 0_opraveno.thm
echo -n -e \\x00\\x00\\x00\\x4C\\x00 >> 0_opraveno.thm
strings -a -6 -e l 0_opraveno.sdv | egrep "^dd[0-9][0-9][0-9][0-9]$" | sort -u | awk '{ printf "%c%c%c%s%c%c%c%c%c%c",00,06,00,$1,00,00,00,00,05,00 };' >> 0_opraveno.thm
echo -n -e \\x47\\x41\\x4C\\x52\\x45\\x53\\x52\\x56\\x02\\x00\\x05 >> 0_opraveno.thm
echo -n -e \\x00\\x00\\x00\\x00 >> 0_opraveno.thm

		echo "" | tee _PostupOpravy.txt
		echo " Opraveno!" | tee -a _PostupOpravy.txt
		echo "" | tee -a _PostupOpravy.txt
		echo " Soubory presunte do slozky gelerie LibreOffice:" | tee -a _PostupOpravy.txt

		if [ -f "0_opraveno.sdv" ]; then
			echo "  0_opraveno.sdv" | tee -a _PostupOpravy.txt
		fi
		if [ -f "0_opraveno.thm" ]; then
			echo "  0_opraveno.thm" | tee -a _PostupOpravy.txt
		fi
		if [ -f "0_opraveno.sdg" ]; then
			echo "  0_opraveno.sdg" | tee -a _PostupOpravy.txt
		fi

		echo "" | tee -a _PostupOpravy.txt
		echo " Otevrte LibreOffice Draw" | tee -a _PostupOpravy.txt
		echo " Otevrte galerii: Menu -> Vlozit -> Multimedia -> Galerie" | tee -a _PostupOpravy.txt
		echo " Vyberte galerii \"0_opraveno\"." | tee -a _PostupOpravy.txt
		echo " Kliknete pravym mysitkem a zvolte \"Aktualizace\"." | tee -a _PostupOpravy.txt
		echo " Zavrite LibreOffice." | tee -a _PostupOpravy.txt
		echo " Otevrte LibreOffice Draw a zkontrolujte galerii." | tee -a _PostupOpravy.txt

		echo " Zavrite LibreOffice." | tee -a _PostupOpravy.txt
		echo " Souborum 0_opraveno.sdv, 0_opraveno.thm, 0_opraveno.sdg dejte jiny nazev." | tee -a _PostupOpravy.txt
		echo " Nepouzivejte mezery a velka pismena." | tee -a _PostupOpravy.txt
		echo " Galerii si v LibreOffice Draw take prejmenujte." | tee -a _PostupOpravy.txt
		echo "" | tee -a _PostupOpravy.txt
		echo " Postup opravy naleznete v souboru: _PostupOpravy.txt" | tee -a _PostupOpravy.txt
		echo "" | tee -a _PostupOpravy.txt
		echo " (c) Zbynek Gavenda gazb@centrum.cz" | tee -a _PostupOpravy.txt
		echo "" | tee -a _PostupOpravy.txt

	fi
else 
	echo ""
	echo " SDV soubor k oprave prejmenujte na: naopravu.sdv"
	echo ""
fi

exit

Diskuse

Teto postup byl zveřejněn na fóru serveru root.cz ve vlákně: Export galerie z LibreOffice Draw.

© Zbyněk Gavenda (gazb@centrum.cz)