/ / भूतिया फसल पीडीएफ सही ढंग से नहीं - पीडीएफ, घोस्टस्क्रिप्ट

ghostscript फसल पीडीएफ सही नहीं - पीडीएफ, भूतस्क्रिप्ट

inputPdf

उपयोग gswin32c.exe -o nul -sDEVICE=bbox bbox.pdf, मैं "" इस pdf का बाउंडिंगबॉक्स है

%% बाउंडिंगबॉक्स: 6292 6865 8108 7535

%% HiResBoundingBox: 6292.907808 6865.505790 8107.091753 7534.493770,

मैं बाउंडिंगबॉक्स में सामग्री के साथ एक पीडीएफ प्राप्त करना चाहता हूं।

मैं एक पीडीएफ फसल के लिए निम्न आदेश का उपयोग कर रहा हूं:

 gswin32c -sDEVICE=pdfwrite -dFirstPage=1 -dLastPage=1 -o croped.pdf -dDEVICEWIDTHPOINTS=1815 -dDEVICEHEIGHTPOINTS=670 -dFIXEDMEDIA -c "6292 6865 translate 6292 6865 8107 7534 rectclip" -f bbox.pdf

या

gswin32c -dQUIET -dBATCH -dNOPAUSE -dNOPROMPT -sDEVICE=pdfwrite -dFirstPage=1 -dLastPage=1 -o croped.pdf -dDEVICEWIDTHPOINTS=1815 -dDEVICEHEIGHTPOINTS=670 -dFIXEDMEDIA -c "<</PageOffset [6292 6865]>> setpagedevice" -f bbox.pdf

i "v एक रिक्त पीडीएफ फाइल।

यह आदेश

gswin32c.exe -dNOPAUSE -dBATCH -sDEVICE=pdfwrite -sOutputFile=croped.pdf -c "[/CropBox [6292.907808 6865.505790 8107.091753 7534.493770] /PAGES pdfmark" -f bbox.pdf

i "v एक मूल फ़ाइल।

मैं इस pdf को कैसे सही तरीके से क्रॉप कर सकता हूँ।

बहुत बहुत धन्यवाद!

उत्तर:

जवाब के लिए 0 № 1

बाउंडिंगबॉक्स मेरे लिए संदिग्ध लग रहा है।

किसी भी घटना में आप भूत-प्रेत के साथ जो आप करने की कोशिश कर रहे हैं वह तुच्छ रूप से नहीं कर सकते हैं, क्योंकि पीडीएफ दुभाषिया मीडिया आकार को सेट करने के लिए पीडीएफ फाइल में जानकारी का उपयोग करता है।

पहले दो कमांड लाइन "काम" हो सकता है, लेकिनआपने "CTM का गलत दिशा में अनुवाद किया है। आपने मूल (0,0) को नीचे, बाएँ और दाएँ से स्थानांतरित किया है। उस पृष्ठ की सामग्री को मीडिया से आगे ले जाया गया, यही वजह है कि आपको एक रिक्त पृष्ठ मिलता है। आप समान मानों का उपयोग करने का प्रयास कर सकते हैं, लेकिन नकारा हुआ, ताकि मूल नीचे की ओर चला जाए और बाईं ओर से बाउंडिंगबॉक्स से आपके द्वारा उद्धृत, "सही दिशा है।

gswin32c -sDEVICE=pdfwrite -dFirstPage=1 -dLastPage=1 -o croped.pdf -dDEVICEWIDTHPOINTS=1816 -dDEVICEHEIGHTPOINTS=670 -dFIXEDMEDIA -c "-6292 -6865 translate" -f bbox.pdf

आपको आयत की आवश्यकता नहीं है, क्योंकि सामग्री पहले ही पृष्ठ पर क्लिप हो गई है।

तीसरी कमांड लाइन भी काम करेगी, सिवाय इसके कि आप क्रॉपबॉक्स को सेट करें से पहले पीडीएफ फाइल को संसाधित करना, इसलिए पीडीएफ दुभाषिया पीडीएफ फाइल से क्रॉपबॉक्स को पढ़ता है और आपके द्वारा सेट किए गए को ओवरराइट करता है। इनपुट फ़ाइल के बाद इसे सेट करने का प्रयास करें।

gswin32c.exe -dNOPAUSE -dBATCH -sDEVICE=pdfwrite -sOutputFile=croped.pdf bbox.pdf -c "[/CropBox [6292.907808 6865.505790 8107.091753 7534.493770] /PAGES pdfmark" -f

[संपादित करें]

ठीक है इसलिए पहली कमांड लाइन्स का कारण "t काम है (जैसा कि मुझे संदेह है) क्योंकि पीडीएफ दुभाषिया पीडीएफ को चलाने से पहले ग्राफिक्स स्थिति को रीसेट करता है, इसलिए यह बस" ट्रांसलेशन "को फेंक देता है।

दूसरी कमांड लाइन मेरे लिए पूरी तरह से अच्छी तरह से काम करती है यदि आप पेजऑफ़सेट के लिए सरणी में ऑपरेंड को नकार देते हैं:

gswin32c -sDEVICE=pdfwrite -sOutputFile=tempout.pdf -dDEVICEWIDTHPOINTS=1815 -dDEVICEHEIGHTPOINTS=670 -dFIXEDMEDIA -c "<</PageOffset [-6292 -6865]>>setpagedevice" -f D:UserskenDownloadsbbox.pdf

तीसरी कमांड लाइन doesn "t काम क्योंकि यहसभी पृष्ठों के लिए क्रॉपबॉक्स सेट करता है, जो एक डिफ़ॉल्ट है और प्रत्येक पृष्ठ पर क्रॉपबॉक्स सेट करके ओवरराइड किया जा सकता है। आपकी मूल पीडीएफ फाइल में क्रॉपबॉक्स (मीडियाबॉक्स के समान) होता है, जो पीडीएफ दुभाषिया द्वारा संरक्षित होता है, इसलिए पेज के लिए क्रॉपबॉक्स द्वारा पेजेस क्रॉपबॉक्स को ओवरराइड किया जाता है।

लेकिन ऊपर कमांड लाइन मेरे लिए ठीक काम किया।