{"id":24728,"date":"2019-06-04T17:48:01","date_gmt":"2019-06-04T15:48:01","guid":{"rendered":"http:\/\/kmim.wm.pwr.edu.pl\/myszka\/?p=24728"},"modified":"2019-06-28T10:35:57","modified_gmt":"2019-06-28T08:35:57","slug":"kompresja-plikow-pdf","status":"publish","type":"post","link":"https:\/\/kmim.wm.pwr.edu.pl\/myszka\/2019\/06\/04\/kompresja-plikow-pdf\/","title":{"rendered":"Kompresja plik\u00f3w PDF"},"content":{"rendered":"<p>Bardzo cz\u0119sto, po dodaniu ilustracji, plik PDF puchnie do ogromnych rozmiar\u00f3w. Przygotowuj\u0105c publikacj\u0119 do druku staramy si\u0119 aby jako\u015b\u0107 ilustracji by\u0142a jak najlepsza i czasami przesadzamy z tym.<br \/>\nOsobn\u0105 spraw\u0105 jest przygotowanie ilustracji w takiej rozdzielczo\u015bci, aby drukarz (albo redakcja nie narzekali). Nie b\u0119dziemy zajmowa\u0107 si\u0119 tym teraz.<br \/>\nProgram Adobe Acrobat (w wersji pro) pozwala zapisa\u0107 plik w wersji \u201ezoptymalizowanej\u201d. Opis tej funkcjonalno\u015bci mo\u017cna znale\u017a\u0107 na <a href=\"https:\/\/helpx.adobe.com\/pl\/acrobat\/using\/optimizing-pdfs-acrobat-pro.html\">stronach Adobe<\/a>.<br \/>\nCo jednak zrobi\u0107 gdy nie mamy dost\u0119pu do tego (p\u0142atnego) programu?<br \/>\nProgram <a href=\"https:\/\/www.ghostscript.com\/\">ghostscript<\/a> oferuje zbli\u017con\u0105 funkcjonalno\u015b\u0107.<br \/>\nPodstawowe polecenie do optymalizacji wygl\u0105da tak:<\/p>\n<pre class=\"font:monospace lang:sh decode:true \">gs -sDEVICE=pdfwrite -dCompatibilityLevel=1.6 -dPDFSETTINGS=\/printer -dNOPAUSE -dQUIET -dBATCH -sOutputFile=plik_skompresowany.pdf plik.pdf<\/pre>\n<p>Kluczowa opcja to <code>-dPDFSETTINGS=\/printer<\/code> kt\u00f3ra stara si\u0119 dzia\u0142a\u0107 podobnie jak odpowiednie ustawienie w Adobe Acrobat. Inne warto\u015bci jakie mo\u017ce ona przyjmowa\u0107 to:<\/p>\n<ul>\n<li><code>\/prepress<\/code> &#8212; najwy\u017csza jako\u015b\u0107, 300 dpi,<\/li>\n<li><code>\/printer<\/code> &#8212; wysoka jako\u015b\u0107, optymalizowane do wydruku, 300 dpi,<\/li>\n<li><code>\/ebook<\/code> &#8212; niska jako\u015b\u0107, 150 dpi,<\/li>\n<li><code>\/screen<\/code> &#8212; do czytania na ekranie, ilustracje s\u0105 skalowane do 72 dpi (co nie zawsze daje dobre efekty)<\/li>\n<li><code>\/default<\/code> &#8212; ustawienia domy\u015blne.<\/li>\n<\/ul>\n<p>Wykonany test pozwoli\u0142 skompresowa\u0107 plik o wielko\u015bci 5 M do:<\/p>\n<ul>\n<li>244 K <code>\/screen<\/code><\/li>\n<li>276 K <code>\/ebook<\/code><\/li>\n<li>632 K <code>\/prepress<\/code><\/li>\n<li>704 K <code>\/print<\/code><\/li>\n<li>788 K <code>\/default<\/code><\/li>\n<\/ul>\n<p>W przypadku plik\u00f3w PDF tworzonych przez narz\u0119dzia TeXowe warto skorzysta\u0107 z programu <code>pdfimages<\/code> znajduj\u0105cego si\u0119 w linuksowym pakiecie <code>poppler-utils<\/code>. W przypadku Windows (nie testowa\u0142em) program znajduje si\u0119 w paczce pakietu <a href=\"http:\/\/www.xpdfreader.com\/index.html\">XpdfReader<\/a>. Program nie tylko pozwala na wyodr\u0119bnienie ilustracji zawartych w pliku PDF (nie ka\u017cd\u0105 ilustracj\u0119 i nie z ka\u017cdego pliku da si\u0119 w ten spos\u00f3b wyodr\u0119bni\u0107) ale, w szczeg\u00f3lno\u015bci, program pozwala odpyta\u0107 o wszystkie ilustracje znajduj\u0105ce si\u0119 w pliku PDF:<\/p>\n<pre class=\"font:monospace lang:sh decode:true\">pdfimages -list plik.pdf<\/pre>\n<p>Dowiemy si\u0119 w jakiej rozdzielczo\u015bci s\u0105 ilustracje. Po kompresji oka\u017ce si\u0119 co z nimi zrobi\u0142 ghostscript.<br \/>\nW opisywanym wcze\u015bniej przyk\u0142adzie by\u0142o sporo plik\u00f3w graficznych w rozdzielczo\u015bci 945 dpi. Po kompresji zosta\u0142y one odpowiednio zmniejszone (do 300 dpi) w przypadku <code>\/printer<\/code>.<br \/>\nWad\u0105 tak zrealizowanej kompresji jest to, \u017ce wszystkie \u201eklikalne odsy\u0142acze\u201d w pliku PDF przestaj\u0105 by\u0107 klikalne. I nie tyle jest to wina LaTeXa\/ghostscripta ile raczej sposobu traktowania r\u00f3\u017cnych obiekt\u00f3w podczas kompresji. Aby odno\u015bniki pozosta\u0142y klikalne &#8212; nale\u017cy (nad)u\u017cy\u0107 opcji pdfa pakietu hyperref:<\/p>\n<pre class=\"font:monospace lang:tex decode:true\">\\usepackage[pdfa]{hyperref}<\/pre>\n<p>Odsy\u0142acze b\u0119d\u0105 dzia\u0142a\u0142y.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Bardzo cz\u0119sto, po dodaniu ilustracji, plik PDF puchnie do ogromnych rozmiar\u00f3w. Przygotowuj\u0105c publikacj\u0119 do druku staramy si\u0119 aby jako\u015b\u0107 ilustracji by\u0142a jak najlepsza i czasami przesadzamy z tym. Osobn\u0105 spraw\u0105 jest przygotowanie ilustracji w takiej rozdzielczo\u015bci, aby drukarz (albo redakcja nie narzekali). Nie b\u0119dziemy zajmowa\u0107 si\u0119 tym teraz. Program Adobe Acrobat (w wersji pro) pozwala &hellip; <a href=\"https:\/\/kmim.wm.pwr.edu.pl\/myszka\/2019\/06\/04\/kompresja-plikow-pdf\/\" class=\"more-link\">Czytaj dalej <span class=\"screen-reader-text\">Kompresja plik\u00f3w PDF<\/span> <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":24729,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"ngg_post_thumbnail":0,"footnotes":""},"categories":[245],"tags":[23,57,280],"class_list":["post-24728","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-narzedzia","tag-featured","tag-latex","tag-pdf"],"publishpress_future_action":{"enabled":false,"date":"2026-04-19 14:00:40","action":"change-status","newStatus":"draft","terms":[],"taxonomy":"category","extraData":[]},"publishpress_future_workflow_manual_trigger":{"enabledWorkflows":[]},"_links":{"self":[{"href":"https:\/\/kmim.wm.pwr.edu.pl\/myszka\/wp-json\/wp\/v2\/posts\/24728","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/kmim.wm.pwr.edu.pl\/myszka\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/kmim.wm.pwr.edu.pl\/myszka\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/kmim.wm.pwr.edu.pl\/myszka\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/kmim.wm.pwr.edu.pl\/myszka\/wp-json\/wp\/v2\/comments?post=24728"}],"version-history":[{"count":5,"href":"https:\/\/kmim.wm.pwr.edu.pl\/myszka\/wp-json\/wp\/v2\/posts\/24728\/revisions"}],"predecessor-version":[{"id":24747,"href":"https:\/\/kmim.wm.pwr.edu.pl\/myszka\/wp-json\/wp\/v2\/posts\/24728\/revisions\/24747"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/kmim.wm.pwr.edu.pl\/myszka\/wp-json\/wp\/v2\/media\/24729"}],"wp:attachment":[{"href":"https:\/\/kmim.wm.pwr.edu.pl\/myszka\/wp-json\/wp\/v2\/media?parent=24728"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/kmim.wm.pwr.edu.pl\/myszka\/wp-json\/wp\/v2\/categories?post=24728"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/kmim.wm.pwr.edu.pl\/myszka\/wp-json\/wp\/v2\/tags?post=24728"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}