2011-12-12 5 views
9

क्या कोई पीडीएफ फ़ाइल को पीडीएफ फ़ाइल में मुद्रित करने के बारे में जानता है और पीडीएफ फाइल स्टैम्प की स्थिति के लिए नियंत्रण भी करता है?स्टैम्प फ़ाइल की स्थिति के लिए नियंत्रण के साथ स्टाम्प पीडीएफ फ़ाइल

मेरे पास एक फ़ाइल orginal.pdf और logo.pdf है। मैं फ़ाइल के ऊपरी बाईं ओर orginal.pdf फ़ाइल करने के लिए logo.pdf फ़ाइल मुद्रित करना चाहता हूं। Ghostscript या pdftk के साथ यह कैसे किया जा सकता है?

उत्तर

26

यह घोस्टस्क्रिप्ट प्लस पीडीएफटीके के साथ किया जा सकता है, लेकिन इसमें कम से कम 2 अलग-अलग चरणों की आवश्यकता है।

AFAIK, आप सीधे pdftk के स्टाम्प प्लेसमेंट को नियंत्रित नहीं कर सकते हैं। डिफ़ॉल्ट रूप से यह पृष्ठ के केंद्र पर टिकट डालता है, और साथ ही साथ 'स्केल-टू-फिट' ऑपरेशन करता है।

तो, आपको पहले अपना टिकट ठीक करना होगा ताकि इसे पहले एक खाली पृष्ठ पर रखा जा सके, जिस स्थिति में आप चाहते हैं। यह आप पहले चरण में Ghostscript की मदद से प्राप्त कर सकते हैं। फिर, दूसरे चरण में, दो फ़ाइलों को मर्ज करने के लिए pdftk का उपयोग करें।

चलो एक उदाहरण का उपयोग करें।

पहला: 'स्टाम्प-small.pdf' बनाएं। (। आप तुम्हारा पहले से ही है, मैं एक सिद्धांत प्रदर्शन करने की जरूरत)

gs \ 
    -o stamp-small.pdf \ 
    -sDEVICE=pdfwrite \ 
    -g3200x500 \ 
    -c "/Helvetica-Bold findfont 36 scalefont setfont" \ 
    -c "0 .8 0 0 setcmykcolor" \ 
    -c "12 12 moveto" \ 
    -c "(This is my stamp) show" \ 
    -c "showpage" 

यह उदाहरण Windows पर लिनक्स या मैक ओएस एक्स के लिए था आप इसे इस प्रकार संशोधित करेगा:

gswin32c.exe^
    -o stamp-small.pdf^
    -sDEVICE=pdfwrite^
    -g3200x500^
    -c "/Helvetica-Bold findfont 36 scalefont setfont"^
    -c "0 .8 0 0 setcmykcolor"^
    -c "12 12 moveto"^
    -c "(This is my stamp) show"^
    -c "showpage" 

(आप इसे सभी को एक पंक्ति में भी डाल सकता है, लेकिन उसके बाद संबंधित ओएस के लिए लाइन-निरंतरता अंक छोड़ दें।) यह पहला आदेश Ghostscript की कमांडलाइन पर सरल पोस्टस्क्रिप्ट स्टेटमेंट की एक श्रृंखला को सौंपता है और इसे 320x50 के आयाम के साथ एक छोटा पीडीएफ पेज बनाने के लिए कहता है अंक। यह आपके 'छोटे' टिकट को अनुकरण करना चाहिए जिसके लिए आप नियुक्ति चाहते हैं।

दूसरा: एक पूरे पृष्ठ बनाएँ (मेरे मामले में, एक A4 आकार) पीडीएफ फाइल जो वास्तविक टिकट के रूप में, तीसरे चरण में लागू किया जा सकता:

gs \ 
    -o A4-stamp.pdf \ 
    -sDEVICE=pdfwrite \ 
    -g5950x8420 \ 
    -c "<</PageOffset [280 790]>> setpagedevice" \ 
    -f stamp-small.pdf 

विंडोज पर:

  1. यह के शुरू में बनाई गई ले लिया:
    gswin32c.exe^
        -o A4-stamp.pdf^
        -sDEVICE=pdfwrite^
        -g5950x8420^
        -c "<</PageOffset [280 790]>> setpagedevice"^
        -f stamp-small.pdf 
    

    यह आदेश कई चीजें हासिल की इनपुट के रूप में tamp-small.pdf '।

  2. यह 595x842 अंक (जो आईएसओ ए 4 पेज आकार है) का कैनवास इस्तेमाल करता है।
  3. यह इनपुट सामग्री को 280 पर्सेंट तक दाएं और 7 9 0 अंक तक शीर्ष पर स्थानांतरित करने के लिए एक छोटा पोस्टस्क्रिप्ट कमांड लागू करता है (पोस्टस्क्रिप्ट और पीडीएफ निर्देशांक निचले बाएं कोने से गिनती शुरू करते हैं)।
  4. यह आउटपुट के रूप में 'ए 4-stamp.pdf' बनाता है।

प्रभावी रूप से, मेरी मूल छोटी आकार की स्टाम्प स्ट्रिंग अब ए 4 पृष्ठ के ऊपरी दाएं कोने में है।

तीसरा: अब आप pdftk का उपयोग कर अपने मूल पीडीएफ फाइल करने के लिए इस नए 'टिकट' लागू कर सकते हैं:

pdftk original.pdf stamp A4-stamp.pdf output stamped.pdf 

या, एक बहु-पृष्ठ मूल पीडीएफ के सभी पृष्ठों पर मुहर लगा रहे हैं:

pdftk original.pdf multistamp A4-stamp.pdf output stamped.pdf 

यह उदाहरण आपको अपने logo.pdf के लिए एक समान प्रक्रिया को विकसित करने के बारे में पर्याप्त जानकारी देना चाहिए जैसा मैंने अपने stamp-small.pdf के लिए किया था। (मैंने इसे शीर्ष दाएं कोने के लिए किया था, आप अपने बाएं कोने के लिए चाहते हैं।)

+0

धन्यवाद आपके उत्तर के लिए धन्यवाद। स्क्रिप्ट PHP का उपयोग एफपीडीआई के साथ किया गया यह समस्या। –

+3

पता नहीं क्यों यह उत्तर टैग नहीं किया गया - यह पूरी तरह से ए 4 पृष्ठ पर टिकटों को कैसे स्थानांतरित करने की मेरी समस्या का समाधान करता है। महान स्पष्टीकरण! – galactica

+1

हाँ, महान उत्तर दिया, कोई संकेत नहीं कि ओपी को स्वीकार करने की सभ्यता क्यों नहीं थी। –

संबंधित मुद्दे