سؤال كيف يتم تحويل PDF إلى صورة؟


لدي متطلبات لتحويل صفحات PDF إلى صور. هناك صورة خلفية مع بعض النصوص المكتوبة ، لذلك عندما قمت بحفظ هذا كصورة تم حفظ صورة الخلفية فقط.

هل هناك أي برنامج متاح لنفس الصفحة حتى يمكن تحويل الصفحة بالكامل إلى صورة؟


247
2018-06-23 10:16


الأصل


على ما يبدو أنه من الممكن أيضا مع inkscape: stackoverflow.com/a/15484727/32453 - rogerdpack


الأجوبة:


  1. التثبت يماغيماغيك.

  2. باستخدام طرف حيث يقع PDF:

    • للوثيقة الكاملة:

      convert -density 150 input.pdf -quality 90 output.png
      
    • لصفحة واحدة:

      convert -density 150 input.pdf[666] -quality 90 output.png
      

بواسطة:

  • يمكن اختيار تنسيق PNG أو JPG أو (تقريبًا) أي تنسيق صور آخر.

  • -density xxx سيتم تعيين DPI إلى xxx (شائعة هي 150 و 300).

  • -quality xxx سيتم ضبط الضغط على xxx لصيغ ملفات PNG و JPG و MIFF (100 يعني عدم الانضغاط).

  • [666] سيقوم بتحويل الصفحة 667 إلى PNG (ترقيم الصفر فقط) [0] هي الصفحة الأولى).

  • يمكن الاطلاع على جميع الخيارات الأخرى (مثل التشذيب ، الرمادية ، وما إلى ذلك) على الموقع الإلكتروني ل صورة ماجيك.


235
2018-06-23 10:25



الجواب كما هو صحيح ولكن القرار ضعيف للغاية. لذلك ليس حاليا إجابة مفيدة. ربما إذا كان التحويل يحتوي على بعض المعلمات التي يمكن تحديدها ، فقد يتغير ذلك. - Elijah Lynn
هذه الإجابة هي أعلى جودة askubuntu.com/a/50180/11929 - Elijah Lynn
يمكنك تغيير الكثافة عن طريق إضافة -density 300 معامل - OHLÁLÁ
الصورة في إجابتك مكسورة. ربما يجب عليك تحديثها. - Petr R.
إذن هل يمكن لأي شخص أن يؤكد أن تحديد الكثافة يجعلها "جيدة" مثل الإجابات الأخرى هنا أم لا؟ أيضا كملاحظة للمتابعين ، يوجه ImageMagick إلى "ghostscript" لتحويل من pdf إلى png ex: gs -q NOPROMPT ...-sDEVICE=pngalpha -r150x150 -sOutputFile=/var/tmp/Yf%d -f/var/tmp/L -f/var/tmp/Fic1 واذا حصلت convert: no images defined output.png هذا يعني أنك لم تقم بتثبيت ghostscript ... - rogerdpack


يمكنك استخدام pdftoppm لتحويل PDF إلى PNG:

pdftoppm input.pdf outputname -png

سيؤدي ذلك إلى إخراج كل صفحة في ملف PDF باستخدام التنسيق outputname-01.pngمع 01 كونه فهرس الصفحة.

تحويل صفحة واحدة من ملف PDF

pdftoppm input.pdf outputname -png -f {page} -singlefile

يتغيرون {page} إلى رقم الصفحة. انها مفهرسة في 1 ، لذلك -f 1 ستكون الصفحة الأولى.

تحديد دقة الصورة المحولة

الدقة الافتراضية لهذا الأمر هي 150 نقطة لكل بوصة. سيؤدي زيادة ذلك إلى حجم ملف أكبر ومزيد من التفاصيل.

لزيادة دقة PDF المحوّل ، أضف الخيارات -rx {resolution} و -ry {resolution}. فمثلا:

pdftoppm input.pdf outputname -png -rx 300 -ry 300

273
2018-06-23 11:07



شكرا جزيلا. نوعية أفضل بكثير من مع imagemagick أو graphicsmagick! - dAnjou
pdftoppm أسرع بكثير من التحويل - zuo
لا أصدق مدى سهولة! ويتم تثبيت الحزمة بالفعل افتراضيا! احببته. شكر! - Rosamunda
هذا هو حقا أفضل بكثير من imagemagick. Imagemagick في الواقع تغيرت الألوان بطريقة غير متوقعة في حالتي! - NoBackingDown
هذا جيد !، لكنه أسهل قليلاً في الكتابة -r 300 بدلاً من تحديد الدقة x و y بشكل مستقل عندما تريد تعيينهم إلى نفس القيمة. - mlc


IIRC GIMP قادر على استخدام ملفات PDF ، أي تحويلها إلى صور. لذا إذا كنت ترغب في تعديل الصور على الفور ، فإن GIMP هو صديقك.


17
2018-06-23 10:29





الإجابة المقبولة حاليًا هي المهمة ولكنها تؤدي إلى إخراج أكبر حجمًا و يعاني من فقدان الجودة.

الطريقة في الجواب المعطى هنا ينتج مخرجات قابلة للمقارنة في حجم المدخلات ولا تعاني من فقدان الجودة.

TLDR - استعمال pdfimages : pdfimages -j input.pdf output 

نقلا عن الجواب المرتبط:

ليس من الواضح ما الذي تعنيه بـ "فقدان الجودة". هذا يمكن أن يعني الكثير   من اشياء مختلفة. هل يمكنك نشر بعض العينات لتوضيحها؟   ربما قطع نفس القسم من نوعية رديئة ونوعية جيدة   إصدارات (مثل PNG لتجنب المزيد من فقدان الجودة).

ربما تحتاج إلى استخدام -density للقيام التحويل في أعلى   نقطة في البوصة:

convert -density 300 file.pdf page_%04d.jpg

(يمكنك التقديم -units PixelsPerInch أو -units PixelsPerCentimeter اذا كان ضروري. نسختي الافتراضية إلى ppi.)

تحديث:  كما أشرت ، gscan2pdf (الطريقة التي تستخدم بها) هي مجرد غلاف ل pdfimages (من عند بوبلر). pdfimages   لا تفعل الشيء نفسه الذي convert عندما يعطى ملف PDF   إدخال.

convert يأخذ قوات الدفاع الشعبي ، يجعله في بعض القرار ، ويستخدم   الصورة النقطية الناتجة كصورة المصدر.

pdfimages ينظر من خلال قوات الدفاع الشعبي للصور جزءا لا يتجزأ من مدمج و   تصدير كل واحد إلى ملف. يتجاهل ببساطة أي نص أو ناقل   أوامر الرسم في PDF.

ونتيجة لذلك ، إذا كان ما لديك هو PDF الذي هو مجرد التفاف حول   سلسلة من الصور النقطية ، pdfimages ستقوم بعمل أفضل بكثير من استخراج   لأنهم يحصلون على البيانات الأولية بحجمها الأصلي. أنت   ربما تريد أيضا استخدام -j خيار ل pdfimages، لأن أ   يمكن أن يحتوي ملف PDF على بيانات JPEG الخام. بشكل افتراضي، pdfimages المتحولين   كل شيء إلى تنسيق PNM ، وتحويل JPEG> PPM> JPEG هو ضياع   معالجة.

لذا حاول

pdfimages -j file.pdf page

قد تكون أو لا تحتاج إلى اتباع ذلك مع convert إلى .jpg خطوة   (اعتمادًا على تنسيق الصورة النقطية الذي كان يستخدمه PDF).

جربت هذا الأمر على ملف PDF الذي صنعته بنفسي من تسلسل   من صور JPEG. كانت JPEGs المستخرجة مطابقة لكل بايت   الصور المصدر. لا يمكنك الحصول على جودة أعلى من ذلك.


9
2018-03-12 13:14





إذا تم مسح ملفات pdf الخاصة بك ، يتم تخزين الصور بالفعل كجزء من ملف pdf. سوف تحتاج ببساطة لاستخراجها pdfimages:

pdfimages my-file.pdf prefix 

6
2017-09-18 10:14



هذا هو الحل الأمثل لقوات الدفاع الشعبي الممسوحة ضوئيا ، كما هو الحال مع هذا ، مع أمر واحد ، واستخراج JPG الأصلي ، ودون مزيد من إعادة الضغط. - Jose Gómez


للحصول على صفحة واحدة من تحويل gm ، أضف [N] (مع N رقم الصفحة بدءًا من 0) إلى اسم PDF ، أي gm convert foo.pdf[11] out.png للحصول على الصفحة الثانية عشر من ملف PDF.

إلى عن على pdftoppm استعمال -f N -singlefileحيث N هو رقم الصفحة بدءًا من 1 ، أي pdftoppm -f 12 -singlefile foo.pdf out لنفس النتيجة. يبدو دائمًا إضافة ".png" إلى اسم ملف الإخراج ولا توجد طريقة لإيقاف هذا.


3
2018-04-02 21:44





يمكنك استخدام تحويل وتحديد كثافة أعلى باستخدام -density اختيار.

على سبيل المثال. convert -d 300 foo.pdf bar.png


2
2017-07-24 02:23



هل يمكنك شرح المزيد عن الكثافة وماذا يمكن أن تفعل؟ - Ten-Coin
AgentCool يحدد كثافة الصور الأفقية والرأسية (بالبوصة ppi). - Arjun


إذا كنت ترغب فقط في تحويل صفحة معينة من PDF إلى PNG ، فيمكنك توجيهها pdftk إلى convert (موصوف بالاعلى) مثله:

pdftk document.pdf cat 12 output - | convert - document-page-12.png

1
2017-11-06 05:11