سؤال

وأنا محاولة استخدام بايثون لتحويل متعدد الصفحات PDF إلى سلسلة من ملفات JPEG. يمكنني تقسيم PDF يصل إلى صفحات فردية بسهولة ما يكفي مع الأدوات المتاحة، ولكن لم أكن قادرة على العثور على أي شيء يمكن أن سرا في ملفات PDF إلى صور.

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

هل هناك أي المكتبات بيثون الى هناك يمكن ان تفعل هذا؟

هل كانت مفيدة؟

المحلول

يماغيماغيك لها <لأ href = "HTTP: //www.imagemagick. غزاله / التحميل / الثعبان / "يختلط =" نوفولو noreferrer "> بيثون .

نصائح أخرى

وهنا ماذا يكون عملت بالنسبة لي باستخدام وحدة الثعبان غوستسكريبت (المثبتة من قبل '$ نقطة تثبيت غوستسكريبت'):

import ghostscript

def pdf2jpeg(pdf_input_path, jpeg_output_path):
    args = ["pdf2jpeg", # actual value doesn't matter
            "-dNOPAUSE",
            "-sDEVICE=jpeg",
            "-r144",
            "-sOutputFile=" + jpeg_output_path,
            pdf_input_path]
    ghostscript.Ghostscript(*args)

وأنا أيضا تثبيت غوستسكريبت 9.18 على جهاز الكمبيوتر الخاص بي، وأنه ربما لن يكون مشغولة بطريقة أخرى.

وأنت لا يمكن تجنب الاعتماد غوستسكريبت. حتى تعتمد يماغيماغيك على غوستسكريبت لوظائف PDF القراءة. والسبب في ذلك هو تعقيد شكل PDF: أ PDF لا مجرد تحتوي على معلومات النقطية، ولكن في الغالب الأشكال ناقلات، الشفاف الخ وعلاوة على ذلك فمن معقدة للغاية لمعرفة أي من هذه الكائنات تظهر على أي صفحة.

وهكذا جعل الصحيح لPDF الصفحة بشكل واضح خارج النطاق لمكتبة بيثون نقية.

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

إذا كنت تستخدم لينكس بعض الإصدارات تأتي مع أداة سطر الأوامر تسمى 'pdftopbm "من خارج منطقة الجزاء. تحقق من netpbm

وربما ذات الصلة: http://www.swftools.org/gfx_tutorial.html

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top