Portál AbcLinuxu, 16. června 2025 19:01
pdftops
na postscript, a potom pomocí ps2pdf
zpět na PDF, je výsledná velikost téměř o třetinu menší (než původní PDF).
Nemáte někdo tušení, o jaká data jsem během toho převodu přišel? (nebo je snad použita o tolik lepší komprese?)
man pdftops: ...By default, any TrueType fonts which are embedded in the PDF file are copied into the PostScript file...a jsou tam nějaké takové bloky:
pdfMakeFont %%BeginResource: font NLLAGK+TT5B4o00 %!FontType1-1.0: NLLAGK+TT5B4o00 12 dict begin /FontInfo 10 dict dup begin /isFixedPitch false def /ItalicAngle 0 def /UnderlinePosition -100 def /UnderlineThickness 50 def end readonly def /FontName /NLLAGK+TT5B4o00 def /PaintType 0 def /FontType 1 def /FontMatrix [0.00048828 0 0 0.00048828 0 0] readonly def /FontBBox [0 -15 789 915] readonly def /StrokeWidth 0 def /Encoding StandardEncoding def currentdict end currentfile eexec 5AA4F71255501637F1A431BAB555283D093E1B588B45B0281559110D21315C62 BD638C6B34BA54AA75227715D9947EBCD51A104CAEA657499E94138F5645BF68V PDF jsou části, které by snad mohly být těmi fonty, ale těžko posoudit:
/Type/FontDescriptor/FontName/EMTSFX+TT5BCo00/FontBBox[-2 -13 773 733]/Flags 131104 /Ascent 733 /CapHeight 733 /Descent -13 /ItalicAngle 0 /StemV 115 /XHeight 533 /CharSet(/A/C/O/aacute/ccaron/d/e/eacute/ecaron/h/iacute/k/l/n/o/s/space/t/u)/FontFile3 356 0 R>> endobj 356 0 obj <</Filter/FlateDecode /Subtype/Type1C/Length 2032>>stream (a začne binární havěť)Jsou to takové dohady, které se dají různě zkoušet. Tak trochu jsem doufal, že by ten dotaz zhlédnul někdo, kdo do této problematiky "trochu více vidí". Pokud by se neztratila žádná důležitá informace, mohl by to být zajímavý způsob "komprese" PDF souborů.
Embedované fonty (v pdf) by snad šlo zobrazit v acrobat readeru.
Pri prevodu do PS minimalne muzes prijit o text. V tom novym PDF nepujde vyhledavat. Jinak PDF obsahuje v sobe dva jazyky jeden pro popis struktury dokumentu(stranky crossreference table, seznamy tabulek, ...) a druhej pro popis stranky. Ten prvni je vzdy textovej. Ten druhej je taky textovovej ale v PDF je komprimovan nejakym kompresnim algoritmem - typicky se pouziva zlib, ale moznych kompresnich algoritmu je nekolik. Prevod z PDF -> PS temer vzdy operace ktera ztrati nejakou informaci. Takze se neni cemu divit.
Pozor - existuji dva typy konverzi PDF -> PS -> PDF (tahle konverze moc smysl nema) ale druha konverze PS -> PDF -> PS je velice uzitecna. psutils nebo mpage predpokladaji na vstupu neco jako "well formed ps", ted uz se presne nepamatuju jaky vsechny pominky se na tenhle format kladou. Problem je, ze vystupem v psutils neni "well formed ps". Pokud vim tak jeste neexistuje zadna open-source utilita ktera ktera by umela PS "opravit". Par takovych utilit jsem videl a byly velice drahe a pouzivaly se pro preprocessing pro velkokapacitni tiskarny. Jedinym "rozumnym" resenim jak "spravit" PS je konverze do PDF a nasledny "tisk" do postscriptu z acrobat readeru. Starsi verze acrobatu na to mely parametr, takze se to da pouzit i ve scriptu.
PDF -> PS -> PDF (tahle konverze moc smysl nema)Já jsem k této konverzi přišel "díky" InDesignu ve verzi 2 (postupně zjišťuji, že v této praverzi kromě exportu brožury chybí další praktické fičury). Umí přímo exportovat pdf a eps bez toho, že by byl výsledek ovlivněn například minimálními okraji nějaké tiskárny. Původní snahou ale bylo "vytisknout" do souboru ps soubor, tento protáhnout přes psbook a psnup, abych dostal listy A4, seskládané do bružury. Narazil jsem na nekompatibilitu takto vytvořeného ps souboru s psnup. Pak jsem přišel na to, že když vezmu prakticky libovolný PDF soubor a protáhnu ho pdftops, tak získám postscriptový soubor, který už kompatibilní je. Takže tato konverze potom smysl nabude: PDF -> PS -> úpravy -> PDF Pro mne by byla konverze PS -> PDF -> PS jen článkem navíc (pokračovala by -> úpravy -> PS -> PDF)
-dPDFSETTINGS=/prepress
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.