2011-06-03 16 views
7

मैं आमतौर पर Ghostscript का उपयोग करने के आदेश के साथ PNG का करने के लिए पीडीएफ़ बदलने में सक्षम हूं:ghostscript के साथ पीडीएफ में पीडीएफ कैसे परिवर्तित करते हैं?

gs \ 
-q \ 
-dNOPAUSE \ 
-dBATCH \ 
-sDEVICE=pnggray \ 
-g2550x3300 \ 
-dPDFFitPage \ 
-sOutputFile=output.png \ 
    input.pdf 

लेकिन यह कुछ पीडीएफ फाइलों के लिए काम नहीं करता। उदाहरण के लिए, उपरोक्त आदेश इस PDF file को इस PNG में परिवर्तित करता है - मूल पृष्ठ पीडीएन के निचले बाएं कोने में मूल पीडीएफ सिर्फ एक छोटी छवि है, पूरे पृष्ठ को भरने के बजाय।

क्या पीडीएफ को पीएनजी में ghostscript, या शायद कुछ अन्य कमांड लाइन उपकरण के रूप में परिवर्तित करने का एक और मजबूत तरीका है?

नोट: यदि मैं ओएस एक्स पर पूर्वावलोकन में "प्रिंट -> सेव के रूप में पीडीएफ" के माध्यम से समस्याग्रस्त एक से नई पीडीएफ फ़ाइल उत्पन्न करता हूं, तो आदेश ठीक काम करता है।

उत्तर

7

बस ImageMagick's convert का उपयोग करें।

convert foo.pdf "foo-%03d.png" 

और रास्ते में असंख्य अन्य ImageMagick विकल्प हैं, लेकिन इसके बाद के संस्करण बुनियादी आदेश आप सभी की जरूरत है:

convert foo.pdf foo.png 

आप अधिक प्रारूप तार, जैसे के साथ पृष्ठ संख्या अधिक सटीक नियंत्रण हो सकता है सर्वाधिक समय।

संपादित करें: अपने "bad.pdf" के बारे में:

संक्षिप्त उत्तर परिवर्तित आदेश करने के लिए अपने gs आदेश या -define pdf:use-cropbox=true करने का विकल्प -dUseCropBox जोड़ना है।

gs \ 
-q \ 
-dNOPAUSE \ 
-dBATCH \ 
-sDEVICE=pnggray \ 
-g2550x3300 \ 
-dPDFFitPage \ 
-dUseCropBox \ 
-sOutputFile=output.png \ 
    input.pdf 

या

convert \ 
-density 300 \ 
-define pdf:use-cropbox=true \ 
    foo.pdf \ 
    foo.png 

आप किसी पाठ संपादक में पीडीएफ देखते हैं, तो आप देख सकते हैं कि एक CropBox और एक MediaBox निर्दिष्ट कर रहे हैं, और CropBox में काफी छोटा है कि।

+1

यह पोस्ट की गई समस्याग्रस्त पीडीएफ फ़ाइल के साथ चाल नहीं प्रतीत होता है .... जो पोस्टस्क्रिप्ट कमांड मैंने पोस्ट किया है वह सामान्य रूप से काम करता है, लेकिन उस फ़ाइल के लिए नहीं। –

+0

@ शारद गोयल, संपादित देखें :) – rlibby

+0

धन्यवाद - फसलबॉक्स फिक्स बहुत अच्छा काम करता है! –