{"id":15745,"date":"2020-12-05T20:07:37","date_gmt":"2020-12-05T19:07:37","guid":{"rendered":"http:\/\/blog.wenzlaff.de\/?p=15745"},"modified":"2021-01-03T09:30:48","modified_gmt":"2021-01-03T08:30:48","slug":"pdf-to-png-jpg-oder-tiff-auf-einem-raspberry-pi-mit-pdftoppm","status":"publish","type":"post","link":"http:\/\/blog.wenzlaff.de\/?p=15745","title":{"rendered":"PDF to PNG, JPG oder TIFF auf einem Raspberry Pi mit pdftoppm"},"content":{"rendered":"<p>Um PDF-Dokumente in ein Bildformat wie PNG zu \u00fcberf\u00fchren, und auch zum skalieren kann das Tool <strong>pdftoppm<\/strong> auf einem Raspberry Pi verwendet werden. Aber auch noch andere Funktionen sind mit den <strong><a href=\"https:\/\/poppler.freedesktop.org\/\" rel=\"noopener noreferrer\" target=\"_blank\">poppler<\/a>-utils<\/strong> m\u00f6glich. <\/p>\n<p><a href=\"http:\/\/blog.wenzlaff.de\/wp-content\/uploads\/2020\/12\/poppler.png\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/blog.wenzlaff.de\/wp-content\/uploads\/2020\/12\/poppler.png\" alt=\"pdf to png\" width=\"2936\" height=\"1738\" class=\"aligncenter size-full wp-image-15750\" srcset=\"http:\/\/blog.wenzlaff.de\/wp-content\/uploads\/2020\/12\/poppler.png 2936w, http:\/\/blog.wenzlaff.de\/wp-content\/uploads\/2020\/12\/poppler-300x178.png 300w, http:\/\/blog.wenzlaff.de\/wp-content\/uploads\/2020\/12\/poppler-1024x606.png 1024w, http:\/\/blog.wenzlaff.de\/wp-content\/uploads\/2020\/12\/poppler-768x455.png 768w, http:\/\/blog.wenzlaff.de\/wp-content\/uploads\/2020\/12\/poppler-1536x909.png 1536w, http:\/\/blog.wenzlaff.de\/wp-content\/uploads\/2020\/12\/poppler-2048x1212.png 2048w\" sizes=\"auto, (max-width: 767px) 89vw, (max-width: 1000px) 54vw, (max-width: 1071px) 543px, 580px\" \/><\/a><br \/>\nInstalliert sind sie auf einem Raspberry Pi schnell mit:<!--more--><\/p>\n<pre class=\"lang:default decode:true \" >\r\nsudo apt-get update\r\nsudo apt-get upgrade\r\n\r\nsudo apt-get install poppler-utils\r\n<\/pre>\n<p>Nun testen wir ob das <strong>pdftoppm<\/strong> Programm aufrufbar ist mit  <strong>pdftoppm -h<\/strong>, das Ergebnis ist die Anleitung des Programms:<\/p>\n<pre class=\"lang:default decode:true \" >pdftoppm version 0.71.0\r\nCopyright 2005-2018 The Poppler Developers - http:\/\/poppler.freedesktop.org\r\nCopyright 1996-2011 Glyph &amp; Cog, LLC\r\nUsage: pdftoppm [options] [PDF-file [PPM-file-prefix]]\r\n  -f &lt;int&gt;                 : first page to print\r\n  -l &lt;int&gt;                 : last page to print\r\n  -o                       : print only odd pages\r\n  -e                       : print only even pages\r\n  -singlefile              : write only the first page and do not add digits\r\n  -r &lt;fp&gt;                  : resolution, in DPI (default is 150)\r\n  -rx &lt;fp&gt;                 : X resolution, in DPI (default is 150)\r\n  -ry &lt;fp&gt;                 : Y resolution, in DPI (default is 150)\r\n  -scale-to &lt;int&gt;          : scales each page to fit within scale-to*scale-to pixel box\r\n  -scale-to-x &lt;int&gt;        : scales each page horizontally to fit in scale-to-x pixels\r\n  -scale-to-y &lt;int&gt;        : scales each page vertically to fit in scale-to-y pixels\r\n  -x &lt;int&gt;                 : x-coordinate of the crop area top left corner\r\n  -y &lt;int&gt;                 : y-coordinate of the crop area top left corner\r\n  -W &lt;int&gt;                 : width of crop area in pixels (default is 0)\r\n  -H &lt;int&gt;                 : height of crop area in pixels (default is 0)\r\n  -sz &lt;int&gt;                : size of crop square in pixels (sets W and H)\r\n  -cropbox                 : use the crop box rather than media box\r\n  -mono                    : generate a monochrome PBM file\r\n  -gray                    : generate a grayscale PGM file\r\n  -png                     : generate a PNG file\r\n  -jpeg                    : generate a JPEG file\r\n  -jpegopt &lt;string&gt;        : jpeg options, with format &lt;opt1&gt;=&lt;val1&gt;[,&lt;optN&gt;=&lt;valN&gt;]*\r\n  -tiff                    : generate a TIFF file\r\n  -tiffcompression &lt;string&gt;: set TIFF compression: none, packbits, jpeg, lzw, deflate\r\n  -freetype &lt;string&gt;       : enable FreeType font rasterizer: yes, no\r\n  -thinlinemode &lt;string&gt;   : set thin line mode: none, solid, shape. Default: none\r\n  -aa &lt;string&gt;             : enable font anti-aliasing: yes, no\r\n  -aaVector &lt;string&gt;       : enable vector anti-aliasing: yes, no\r\n  -opw &lt;string&gt;            : owner password (for encrypted files)\r\n  -upw &lt;string&gt;            : user password (for encrypted files)\r\n  -q                       : don't print any messages or errors\r\n  -v                       : print copyright and version info\r\n  -h                       : print usage information\r\n  -help                    : print usage information\r\n  --help                   : print usage information\r\n  -?                       : print usage information<\/pre>\n<p>So, wir arbeiten also mit der Version 0.71.<\/p>\n<p>Wir nehmen mal eine Test PDF Datei <a href=\"http:\/\/blog.wenzlaff.de\/wp-content\/uploads\/2020\/12\/poppler.pdf\">poppler.pdf<\/a> f\u00fcr den ersten Test. Die wollen wir nun in eine PNG Bilddatei umwandeln. Wir \u00fcbergeben einfach den Parameter -png und die Pdf-Datei und den Zieldateinamen:<\/p>\n<p><strong>pdftoppm -png poppler.pdf popple<\/strong><\/p>\n<p>Nach ein paar Sekunden, haben wir die Datei poppler-1.png mit 209 kb im gleichen Verzeichnis erstellt. Gar nicht so schwer.<\/p>\n<p>Dann wagen wir gleich noch die Umwandlung in das JPEG-Format mit<\/p>\n<p><strong>pdftoppm -jpeg poppler.pdf poppler<\/strong><\/p>\n<p>Nun haben wir die poppler-1.jpg Datei erzeugt. Gr\u00f6\u00dfe 183 kb.<\/p>\n<p>Auch skalieren der Bilder geht ganz einfach, wir machen mal ein 200x100px Bild:<\/p>\n<p><strong> pdftoppm -jpeg -scale-to-x 200 -scale-to-y 100 poppler.pdf poppler-klein<\/strong><\/p>\n<p>Das Ergebnis:<\/p>\n<p><a href=\"http:\/\/blog.wenzlaff.de\/wp-content\/uploads\/2020\/12\/poppler-klein-1.jpg\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/blog.wenzlaff.de\/wp-content\/uploads\/2020\/12\/poppler-klein-1.jpg\" alt=\"\" width=\"200\" height=\"100\" class=\"aligncenter size-full wp-image-15755\" \/><\/a><\/p>\n<p>Oder wir machen aus dem PDF ein quadratisches Bild von 88 Pixel:<\/p>\n<p><strong>pdftoppm -jpeg -scale-to 88 poppler.pdf poppler-quadratisch<\/strong><\/p>\n<p><a href=\"http:\/\/blog.wenzlaff.de\/wp-content\/uploads\/2020\/12\/poppler-quadratisch-1.jpg\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/blog.wenzlaff.de\/wp-content\/uploads\/2020\/12\/poppler-quadratisch-1.jpg\" alt=\"\" width=\"88\" height=\"63\" class=\"aligncenter size-full wp-image-15756\" \/><\/a><\/p>\n<p>Wenn man mehrere Dateien in einen Rutsch \u00e4ndern will, kan man sich ja ein kleines bash Script schreiben.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Um PDF-Dokumente in ein Bildformat wie PNG zu \u00fcberf\u00fchren, und auch zum skalieren kann das Tool pdftoppm auf einem Raspberry Pi verwendet werden. Aber auch noch andere Funktionen sind mit den poppler-utils m\u00f6glich. Installiert sind sie auf einem Raspberry Pi schnell mit:<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[220,2173,566,808,79,1023,4129,3388,7],"tags":[2309,4133,4132,4134,4136,4135,2179],"class_list":["post-15745","post","type-post","status-publish","format-standard","hentry","category-anleitung","category-debian","category-hardware","category-linux-2","category-programmierung","category-raspberry-pi","category-raspberry-pi-4-b","category-script","category-tools","tag-pdf","tag-pdf-bearbeitung","tag-pdf-to-png","tag-pdf-tools","tag-pdftopng","tag-tool-pdf","tag-tools"],"_links":{"self":[{"href":"http:\/\/blog.wenzlaff.de\/index.php?rest_route=\/wp\/v2\/posts\/15745","targetHints":{"allow":["GET"]}}],"collection":[{"href":"http:\/\/blog.wenzlaff.de\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/blog.wenzlaff.de\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/blog.wenzlaff.de\/index.php?rest_route=\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"http:\/\/blog.wenzlaff.de\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=15745"}],"version-history":[{"count":0,"href":"http:\/\/blog.wenzlaff.de\/index.php?rest_route=\/wp\/v2\/posts\/15745\/revisions"}],"wp:attachment":[{"href":"http:\/\/blog.wenzlaff.de\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=15745"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/blog.wenzlaff.de\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=15745"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/blog.wenzlaff.de\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=15745"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}