باستخدام ImageMagick أو GhostScript (أو شيء ما) لتوسيع نطاق PDF لتناسب الصفحة؟

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

سؤال

لقد كنت أداء رأسي ضد هذا دون جدوى.

أحتاج إلى تقليص بعض ملفات PDF كبيرة للطباعة على صفحة 8.5x11 بوصة (حرف قياسي). يمكن imagemagick / ghostscript التعامل مع هذا النوع من الأشياء، أو أجد الكثير من المتاعب لأنني أستخدم الأداة الخطأ لهذا المنصب؟

فقط الاعتماد على خيار "تقلص إلى الصفحة" في مربعات حوار الطباعة من جانب العميل ليس خيارا، حيث أننا نود أن يكون ذلك سهل الاستخدام للمستخدمين النهائيين.

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

المحلول

المشكلة في استخدام ImageMagick هي أن تتحول بتنسيق صورة نقطي، وزيادة حجم الملف وتقليل جودة أي عناصر متجهة على صفحاتك.

متعدد التكافؤ سوف يحتفظ بمعلومات ناقل PDF. يحاول:

java -cp Multivalent.jar tool.pdf.Impose -dim 1x1 -paper "8.5x11in" myFile.pdf

لإنشاء ملف إخراج MyFile-Up.PDF

نصائح أخرى

لن تستخدم convert. وبعد يستخدم GhostScript في الخلفية، ولكن أبطأ بكثير. كنت أستخدم ghostscript مباشرة، لأنه يعطيني أكثر من سيطرة مباشرة أكثر (وأيضا بعض السيطرة على الإعدادات التي يصعب تحقيقها معها convert). وللتحول إلى العمل لتحويل PDF-TO-PDF، سيكون لديك ghostscript مثبتة على أي حال:

  gs \
    -o /path/to/resized.pdf \
    -sDEVICE=pdfwrite \
    -dPDFFitPage \
    -r300x300 \
    -g2550x3300 \
    /path/to/original.pdf

سوف تقوم Ogimemagick بموجي / تحويل الأوامر في الواقع المهمة. كان لدى صفحة Stephen حول الفكرة الصحيحة فقط، لكنك تحتاج إلى تعيين DPI من الملف أيضا، أو لن تحصل على المهمة.

على افتراض أن لديك ملف 300 نقطة في البوصة وعمل النسبة نفسها بالفعل بنسبة 8.5 × 11 سيكون الأمر:

// 300dpi x 8.5 -2550, 300dpi x 11 -3300
convert original.pdf -density "300" -resize "2550x3300" resized.pdf

إذا كانت نسبة الارتفاع مختلفة، فأنت بحاجة إلى القيام ببعض اقتصاص أكثر قليلا.

عملت نهج Ghostscript جيدا بالنسبة لي. (لقد قمت بنقل ملفي من جهاز الكمبيوتر الخاص بي Windows إلى كمبيوتر Linux وأخرجه هناك.) لقد قمت بتغيير صغير واحد في الأمر Ghostscript لأن الأمر تغيير حجم Ghostscript أعلاه يملأ تماما 8.5 صفحة 11 بوصة. لا يمكن طابعتي الطباعة على الحافة، رغم ذلك، فقد فقدت عدة ألليمترات على طول كل حافة صفحة. للتغلب على هذه المشكلة، قمت بتحسين وثيقة PDF الخاصة بي إلى 0.92 من 8.5 كامل بحوالي 11 بوصة. وبهذه الطريقة رأيت كل شيء يتركز على الصفحة وكان له هامش طفيف. لأن 0.92 * (2550x3300) = (2346x3036)، أجريت الأمر التالي Ghostspript:

  gs -sDEVICE=pdfwrite \
     -dPDFFitPage \
     -r300x300 \
     -g2346x3036 \
     /home/user/path/original.pdf \
     -o /home/user/path/resized.pdf
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top