هل تريد تحويل ملف .doc أو .pdf إلى صورة وعرض صورة مصغرة في Ruby؟

StackOverflow https://stackoverflow.com/questions/65250

  •  09-06-2019
  •  | 
  •  

سؤال

هل تريد تحويل ملف .doc أو .pdf إلى صورة وعرض صورة مصغرة في Ruby؟
هل يعرف أحد كيفية إنشاء صور مصغرة للمستندات في Ruby (أو C، python...)

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

المحلول

مثال RMagick البسيط لتحويل ملف PDF إلى PNG سيكون:

require 'RMagick'
pdf = Magick::ImageList.new("doc.pdf")
thumb = pdf.scale(300, 300)
thumb.write "doc.png"

لتحويل مستند MS Word، لن يكون الأمر سهلاً.قد يكون أفضل خيار لديك هو تحويله أولاً إلى ملف PDF قبل إنشاء الصورة المصغرة.تعتمد خياراتك لإنشاء ملف PDF بشكل كبير على نظام التشغيل الذي تعمل عليه.قد يكون أحدها استخدام OpenOffice و بايثون محول المستندات المفتوحة.هناك أيضًا خدمات تحويل عبر الإنترنت يمكنك تجربتها، بما في ذلك http://Zamzar.com.

نصائح أخرى

نموذج التعليمات البرمجية للرد على تعليقaisensiy أعلاه:

require 'rmagick'
pdf_path = "/path/to/interesting/file.pdf"
page_index_path = pdf_path + "[0]" # first page in PDF
pdf_page = Magick::Image.read( page_index_path ).first # first item in Magick::ImageList
pdf_page.write( "/tmp/indexed-page.png" ) # implicit conversion based on file extension

بناءً على دليل المسار في إجابة سؤال آخر:

https://stackoverflow.com/a/6369524/765063

لست متأكدًا من دعم .doc في أي مكتبة مفتوحة المصدر ولكن يمكن تجميع ImageMagick (وجوهرة RMagick) بدعم pdf (أعتقد أنه قيد التشغيل افتراضيًا)

يعد دعم PDF أمرًا صعبًا بعض الشيء في ImageMagick - ولكنه إلى حد بعيد أفضل طريقة لنظام التشغيل لروبي.هناك أيضًا مشروع Google Summer of Code لدعم Ruby PDF الخالص.

لقد قرأت أشياءً حول استخدام OpenOffice بدون واجهة المستخدم الرسومية لتحويل ملفات .doc - ولكن الأمر سيكون معقدًا في أحسن الأحوال.

كما ذكر الملصقان السابقان، ربما تكون ImageMagick هي الطريقة الأسهل لإنشاء الصور المصغرة.

يمكنك تنفيذ شيء مثل:

´convert -size 300x300 doc.pdf doc.png´

(تطلب الاقتباسات الخلفية من روبي التخلص منها).

إذا كنت لا ترغب في استخدام exec لإجراء التحويل، فيمكنك استخدام جوهرة RMagick للقيام بذلك نيابةً عنك، ولكن من المحتمل أن يكون الأمر أكثر قليلاً من التعليمات البرمجية.

إذا كنت لا تمانع في الدفع مقابل Imgix، فيمكنك ذلك يتعامل مع ملفات PDF أيضاً.يمكنك الحصول على جميع مزايا شبكة CDN السريعة معها.

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