मैं एक पीडीएफ फाइल का आकार कैसे कम कर सकता हूं जिसमें चित्र शामिल हैं?


19

मेरे पास एक पीडीएफ फाइल है जिसमें चित्र शामिल हैं और मैं इसे एक आकार सीमा के साथ साइट पर अपलोड करने के लिए इसके आकार को कम करना चाहता हूं।

तो, मैं कमांड-लाइन से एक पीडीएफ फाइल का आकार कैसे कम कर सकता हूं?

जवाबों:


26

आप का उपयोग कर सकते हैं gs- GhostScript (पोस्टस्क्रिप्ट और पीडीएफ भाषा दुभाषिया और पूर्वावलोकनकर्ता) निम्नानुसार हैं:

  • Pdfwrite को आउटपुट डिवाइस के रूप में सेट करें-sDEVICE=pdfwrite
  • उपयुक्त का उपयोग करें -dPDFSETTINGS

    से प्रलेखन :

    -dPDFSETTINGS = कॉन्फ़िगरेशन
    चार पूर्वनिर्धारित सेटिंग्स में से एक को "डिस्टिलर पैरामीटर" निर्धारित करता है:

    • / स्क्रीन एक्रोबेट डिस्टिलर "स्क्रीन ऑप्टिमाइज़्ड" सेटिंग के समान कम रिज़ॉल्यूशन आउटपुट का चयन करता है।
    • / ebook एक्रोबेट डिस्टिलर "ईबुक" सेटिंग के समान मध्यम-रिज़ॉल्यूशन आउटपुट का चयन करता है।
    • / प्रिंटर एक्रोबेट डिस्टिलर "प्रिंट ऑप्टिमाइज्ड" सेटिंग के समान आउटपुट का चयन करता है।
    • / प्रीप्रेस Acrobat Distiller "Prepress Optimized" सेटिंग के समान आउटपुट का चयन करता है।
    • / डिफ़ॉल्ट का उपयोग करता है उत्पादन की एक विस्तृत विविधता में उपयोगी होने का इरादा रखता है, संभवतः एक बड़ी आउटपुट फ़ाइल की कीमत पर।
  • -oआउटपुट फ़ाइल का विकल्प जो भी सेट किया गया है -dNOPAUSEऔर -dBATCH( इंटरैक्शन से संबंधित पैरामीटर देखें )

उदाहरण:

$ du -h file.pdf 
27M file.pdf

$ gs -sDEVICE=pdfwrite -dPDFSETTINGS=/ebook -q -o output.pdf file.pdf

$ du -h output.pdf 
900K    output.pdf

यहां -qसामान्य स्टार्टअप संदेशों को दबाया जाता है, और इसके बराबर भी किया जाता है -dQUIETजो नियमित जानकारी टिप्पणियों को दबाता है


मेरे लिए काम नहीं करता है। tesseractइस आदेश के साथ इसे सिकोड़ने का प्रयास करते समय एक खोज योग्य पीडीएफ आउटपुट पूरी तरह से अपरिवर्तित रहता है।
गेब्रियल स्टेपल्स

3
ps2pdf input.pdf output.pdf

मुझे उबंटू पूछने से जवाब मिला और यह मेरे लिए काम कर गया। यह वास्तव में 18.1Mb से 1.0Mb तक कम हो गया


मेरे लिए काम नहीं करता है। tesseractइस आदेश के साथ इसे सिकोड़ने का प्रयास करते समय एक खोज योग्य पीडीएफ आउटपुट पूरी तरह से अपरिवर्तित रहता है।
गेब्रियल स्टेपल्स

यह बहुत ही सरल है यदि आप उन सभी विकल्पों को चुनने की परवाह नहीं करते हैं जिनकी घोस्टस्क्रिप्ट को जरूरत है। मैन पेज कहते हैं कि स्क्रिप्ट उसी पैरामीटर को स्वीकार करती है gs, जो इस उदाहरण को देता है:ps2pdf -dPDFSETTINGS=/prepress figure.ps proof.pdf
Cris Luengo

0

आप यह कोशिश कर सकते हैं:

$ time pdftk myFile.pdf output myFile__SMALLER.pdf compress
GC Warning: Repeated allocation of very large block (appr. size 16764928):
    May lead to memory leak and poor performance.
GC Warning: Repeated allocation of very large block (appr. size 8384512):
    May lead to memory leak and poor performance.
GC Warning: Repeated allocation of very large block (appr. size 11837440):
    May lead to memory leak and poor performance.
GC Warning: Repeated allocation of very large block (appr. size 8384512):
    May lead to memory leak and poor performance.
GC Warning: Repeated allocation of very large block (appr. size 33525760):
    May lead to memory leak and poor performance.
GC Warning: Repeated allocation of very large block (appr. size 7254016):
    May lead to memory leak and poor performance.
GC Warning: Repeated allocation of very large block (appr. size 34041856):
    May lead to memory leak and poor performance.
GC Warning: Repeated allocation of very large block (appr. size 33525760):
    May lead to memory leak and poor performance.

real    0m23.677s
user    0m23.142s
sys     0m0.540s
$ du myFile*.pdf
108M    myFile.pdf
74M     myFile__SMALLER.pdf

यह gs107.5MiB इनपुट फ़ाइल के लिए इस मामले में 30% तक की तुलना में अधिक तेज़ है ।


मेरे लिए काम नहीं करता है। tesseractइस आदेश के साथ इसे सिकोड़ने का प्रयास करते समय एक खोज योग्य पीडीएफ आउटपुट पूरी तरह से अपरिवर्तित रहता है।
गेब्रियल स्टेपल्स
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.