मैं लिनक्स में पीडीएफ में एक .png कैसे जोड़ सकता हूं?


65

मेरे पास मेरे लिखित हस्ताक्षर की स्कैन कॉपी है और मुझे हस्ताक्षर ब्लॉक में इसे कुछ दस्तावेजों पर लागू करने की आवश्यकता है। मैं हर समय विंडोज पर ऐसा करता था लेकिन मेरे पास अब केवल लिनक्स है।

क्या यह संभव है? मैं लिनक्स (Gnome 3) में पीडीएफ फाइल में एक हस्ताक्षर छवि कैसे जोड़ सकता हूं?

जवाबों:


85

Xournal का उपयोग करके आप पीडीएफ एनोटेट कर सकते हैं और कस्टम चित्र (जैसे एक पारदर्शी पीएनजी) जोड़ सकते हैं। हालाँकि इसका उपयोग फ्रीहैंड नोट्स और ड्राइंग लेने के लिए किया जाता है, लेकिन यह PDF को एनोटेट भी कर सकता है।

उबंटू पर:

  • उबंटू को उबंटू सॉफ्टवेयर सेंटर के माध्यम से स्थापित करें
  • Xournal खोलें
  • फ़ाइल मेनू से "एनोटेट पीडीएफ" चुनें और हस्ताक्षरित होने के लिए अपनी पीडीएफ फाइल का चयन करें।
  • टूलबार में "छवि" बटन पर क्लिक करें (यह किसी व्यक्ति के सिल्हूट जैसा दिखता है)।
  • दस्तावेज़ पर क्लिक करें।
  • अपने हस्ताक्षर की एक PNG छवि का चयन करें।
  • आकार और पीडीएफ पर छवि स्थिति।
  • फ़ाइल मेनू से "पीडीएफ में निर्यात करें" चुनें।

Http://www.howtogeek.com/215485/sign-pdf-documents-without-printing-and-scanning-them-from-any-device/ पर अधिक जानकारी


7
Xournal वास्तव में छोटी गाड़ी थी - जब मैं अंत में हस्ताक्षर आयात करने और पीडीएफ को निर्यात करने में कामयाब रहा, तो स्कैन की गई पीडीएफ धुंधली हो गई थी - परिणामी पीडीएफ पर मेरा हस्ताक्षर एकमात्र कुरकुरा तत्व था।
एंटटी हापला

1
मैंने अभी आर्क पर xournal के साथ किया था और इसने काफी अच्छी तरह से काम किया था, लेकिन बैकग्राउंड पीडीएफ एक डॉक्यूमेंट से था, स्कैन से नहीं। शायद प्रासंगिक है?
ब्रैंडन कुक्ज़ेंस्की

मेरे लिए उबंटू 16.04 पर भी काम किया। एक विचार के रूप में, आप अलग-अलग परतों में इसके शीर्ष पर पाठ जोड़कर एक्सोटनल का उपयोग भी कर सकते हैं (उदाहरण के लिए रूपों को पूरा करने के लिए उपयोगी)।
जोताडेपिकस

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

9

यह Xournal का उल्लेख करने योग्य है जिसमें एक अच्छा UI है और पीडीएफ फाइलों में पाठ, चित्र और हाथ से लिखे नोट्स जोड़ने की अनुमति देता है। एकमात्र समस्या यह है कि यह मूल पीडीएफ रूपों से पाठ को अच्छी तरह से संभालने के लिए प्रतीत नहीं होता है।


8

मुझे यह स्क्रिप्ट मिली जिसे आप मौजूदा पीडीएफ फाइल में एक हस्ताक्षर संलग्न करने के लिए संशोधित कर सकते हैं।

आप इसे इस पास्टबिन URL से भी डाउनलोड कर सकते हैं:

AskUbuntu पर यह Q & A भी है जिसमें ऐसा करने के कई अन्य तरीके हैं। Q & A का शीर्षक है: मौजूदा पीडीएफ फाइल पर चित्र कैसे लगाएं?


@Freedom_Ben - यदि आप रुचि रखते हैं, तो मैंने पाया कि केवल PNG के बजाय प्रमाणपत्र का उपयोग करके अपने PDF को कैसे साइन किया जाए। LMK।
slm

3
समस्या यह है कि यह बहुत खराब गुणवत्ता वाले पृष्ठों की छवियां बनाता है। : / अन्य उत्तर (updf के बारे में) बेहतर काम करता है। :)
ओडिन्हो - वेलमॉन्ट

2
@ एसएलएम: बहुत सच है। लेकिन यह अभी भी पेज का / चित्र / चित्र बनाता है, बजाय केवल छवि को अपडेट करने पर जैसे कि updf करता है। pdftk भी इस तरह के ऑपरेशन करने में सक्षम है, लेकिन यहां एक ड्राइवर-स्क्रिप्ट की आवश्यकता होगी।
ओडिन्हो - वेलमॉन्ट

1
मैंने पहले भी इसी तरह की चीजें करने के लिए pdftk और रिपोर्टलैब का उपयोग किया है (पीडीएफ के शीर्ष पर मेल मर्ज): stackoverflow.com/questions/356502/… - एक प्रभावी तरीका खोजने के लिए बहुत प्रयास किए। पीडीएफ को संसाधित करने के बहुत से बुरे तरीके हैं।
ओडिन्हो - वेलमॉन्ट

2
क्या इसका कोई संस्करण है जो उपयोग नहीं करता है xv? इसे इंस्टॉल करना बहुत मुश्किल है xvऔर यह मुफ्त सॉफ्टवेयर नहीं है ...
क्रिस बेक

8

बहुत से लोग Xournal की सलाह देते हैं, लेकिन मुझे यह जिम्प के एक संस्करण के रूप में काम करने के लिए मिला, जिसका मैं उपयोग नहीं कर सकता। इस प्रकार यदि आप जिम्प से परिचित हैं, तो मैं इसे आजमाने की सलाह दूंगा।

  • आपके पास हस्ताक्षर के साथ एक फ़ाइल होनी चाहिए (यहां तक ​​कि फोन या वेबकेम के साथ ली गई एक तस्वीर), और दस्तावेज़ के साथ एक फ़ाइल पर हस्ताक्षर किए जाने चाहिए। बाद वाला पीडीएफ प्रारूप में होने वाला है, जिसे जिम्प द्वारा खोला जा सकता है
  • यदि सफेद पर्याप्त नहीं है, तो हस्ताक्षर पर एक सीमा लागू करें
  • यदि दस्तावेज़ की पृष्ठभूमि सफेद नहीं है, तो हस्ताक्षर में सफेद को अल्फा में परिवर्तित करें
  • जिम्प के साथ दस्तावेज़ खोलें
  • दस्तावेज़ के ऊपर एक नई परत के रूप में हस्ताक्षर खोलें (फ़ाइल -> परत के रूप में खोलें)
  • आकार और स्थिति को समायोजित करें
  • परतें आपस में मिलाएं
  • पीडीएफ के रूप में निर्यात करें

मैं नियमित रूप से ऐसा करता हूं जब मुझे एकल पृष्ठ दस्तावेजों पर हस्ताक्षर करने की आवश्यकता होती है, और मुझे पांच या अधिक मिनट लगते हैं। यदि आप उदाहरण के लिए बहु पृष्ठ दस्तावेज़ के प्रत्येक पृष्ठ पर हस्ताक्षर करने की आवश्यकता है तो दुर्भाग्य से यह काम नहीं करेगा। बाद के मामले में मैं सिर्फ प्रिंट, हस्ताक्षर, और फिर से स्कैन करता हूं!


2
मैंने उपरोक्त सभी समाधानों की कोशिश की, वे सभी बहुत प्रयास के बाद भी विफल रहे। xournalवास्तव में ठीक से काम नहीं करता है, यह उपयोगकर्ता इंटरफ़ेस में बग प्रतीत होता है और मैं उन्हें आयात करने के बाद छवियों को स्केल या स्थानांतरित करने में सक्षम नहीं था। xvसंकलन नहीं किया, C कोड के लिए कई पैच की आवश्यकता है, फिर अंत में या तो काम नहीं करता है। updf, या उसके ubuntu पीपीए, अब मौजूद नहीं है। (ubuntu xenial dec 2016 पर परीक्षण किया गया) gimpजाने का तरीका है, इसके लिए धन्यवाद!
क्रिस बेक

2
यह एक सुंदर उपाय है! यह एक पारदर्शी पृष्ठभूमि के साथ हस्ताक्षर बनाने के लिए और एक परत के रूप में दस्तावेज़ में जोड़े जाने पर छवि को स्केल करने के लिए कुछ छवि संपादन कौशल की आवश्यकता होती है। BTW, दिनांक को XCF फ़ाइल में एक बिट के रूप में उपद्रव के साथ जोड़ा जा सकता है (पाठ का आकार और स्थान)। परिणामी पीडीएफ निर्यात काफी स्वीकार्य है!
टॉम रसेल

1
यदि दस्तावेज़ में कई पृष्ठ हैं: परतों के रूप में आयात पृष्ठ (डिफ़ॉल्ट विकल्प), दस्तावेज़ को ".mng" (एकाधिक png) के रूप में सहेजें। केवल एक्सटेंशन जोड़ें। और जिम्प पर "निर्यात के रूप में" निर्यात करें, अब कमांड लाइन पर जाएं और करें। : convert original_name.mng output_name.pdf। बस इतना ही। वैसे, यदि आउटपुट के लिए रिज़ॉल्यूशन कम है, तो भीख माँगने के दौरान पीडीएफ आयात करते हुए, पीडीएफ छवियों का आकार बड़ा करने की कोशिश करें: चौड़ाई के लिए "2000" जैसा कुछ प्रयास करें। MNG को निर्यात करते समय "संपीड़न स्तर" विकल्प की जांच करना न भूलें अधिकतम इस तरह से अंतिम फ़ाइल बहुत भारी नहीं होगी।
डिएगो आंद्रेस डिआज़ एस्पिनोज़ा

इस उत्तर के साथ यह ( onlinesignature.com/es/draw-a-signature-online ) आप सभी की जरूरत है
अल्फेरगॉन

6

मेरे पास uPdf के साथ काफी अच्छा अनुभव है ।

स्थापना

sudo add-apt-repository ppa:atareao/updf
sudo apt-get update
sudo apt-get install -y updf

फिर एक पायथन स्क्रिप्ट में 2 लाइनों को संपादित करके एक बग को ठीक करें ।

प्रयोग

UPdf लॉन्च करें, एक छवि उपकरण जोड़ें का चयन करें , उस क्षेत्र के चारों ओर एक आयत खींचें जहां आप चाहते हैं कि हस्ताक्षर आपके हस्ताक्षर के साथ छवि फ़ाइल पर जाएं और चुनें। एक पारदर्शी पृष्ठभूमि वाला पीएनजी सबसे अच्छा काम करता है।


4
योग्य, यह पायथन की 2 लाइनों के संपादन के बारे में बहुत ही मजेदार है। क्योंकि मैं वह हूं जिसने यह टिप्पणी की है। और यहां मैं एक पीडीएफ पर फिर से हस्ताक्षर करने का एक तरीका ढूंढ रहा हूं, इसलिए
इंटर्व्यू

लगता है कि आखिरी रिलीज उबंटू क्वांटल के लिए थी। 15.04 (विविड) त्रुटियों पर रेपो को जोड़ने में "विफल रहा ..."
पोंडकूडल

@Wallacoloo पैकेज केवल रेयरिंग और सॉसी के लिए बनाया गया है। किसी भी अन्य वितरण के लिए आपको मैन्युअल रूप से lstबनाई गई फ़ाइल में वितरण को बदलना होगा /etc/apt/sources.list.d
किन्नर

प्रिलिस या क्वांटल डिस्ट्रीब्यूशन का उपयोग करके विली 15.10 पर स्प्लैश स्क्रीन के बाद क्रैश।
जोनाथन न्युफेल्ड

मेरे लिए डेबियन बस्टर पर काम करता है। कस्टम स्क्रिप्ट जैसे अन्य उत्तर pdftk का उपयोग करते हैं जो वर्तमान में अनुपलब्ध है, और Xournal रिपॉजिटरी में नहीं है। अपडेटफ डाउनलोड पेज या डायरेक्ट डाउनलोड लिंक । के साथ स्थापित करें sudo dpkg -i file.deb; sudo apt install -fऔर फिर जवाब में उल्लिखित अजगर कोड को संपादित करें।
ल्यूक

4

अपने स्वयं के हस्ताक्षर कमांडों को शेल स्क्रिप्ट में डालते समय, मैं उस क्षेत्र का अंतःक्रियात्मक रूप से चयन करने के लिए एक रास्ता तलाश रहा था जहां हस्ताक्षर जाना चाहिए। सौभाग्य से मुझे यह सवाल मिला और इमैनुएल ब्रानलार्ड की पटकथा में यह विचार है कि इसे कैसे किया जाए (साथ xv)। मैंने निम्नलिखित बिंदुओं को लागू किया:

  • displayइसके बजाय ImageMagicks का उपयोग करेंxv
  • उपयोग करें stdbuf -oLऔर -updateलाइव पूर्वावलोकन करने का विकल्प
  • pdftk stampछवि गुणवत्ता में गिरावट को रोकने के लिए हस्ताक्षर को ओवरले करें
  • केवल पीडीएफ फाइल से विशिष्ट पृष्ठ निकालें
  • के साथ हस्ताक्षर को डिक्रिप्ट करें gpg
  • के साथ हस्ताक्षरित पीडीएफ फाइल को एन्क्रिप्ट करें pdftk
  • सफाई मध्यवर्ती फ़ाइलों के साथ हस्ताक्षर युक्त wipe

तो यहाँ कोड है:

#!/bin/env zsh

#dependencies: pdftk, ImageMagick, gpg, wipe, openssl

signature=~/PGP/signature.png.gpg

f=${1%.pdf}
page=$2
density=144
bo=0.2 #baseline overlap in relation to y-size of the signature

pagecount=$(pdftk $f.pdf dump_data | grep NumberOfPages | sed "s/.*: //")
#sign on last page by default
if [ -z "$page" ]; then page=$pagecount; fi

function cleanup
{
    echo "Cleaning up..."
    rm $f.$page.pdf
    wipe $f.$page.signature.pdf $f.$page.signed.pdf $f.signed.pdf signature.png
}
trap cleanup EXIT

echo "Signing document $f.pdf on page $page."

echo "Decrypting signature..."
gpg -d $signature > signature.png
identity=$(identify -format "%w,%h,%x,%y" signature.png)
sdata=(${(s/,/)identity})

echo "Please give the signature area with two clicks and finish by pressing ‘q’!"

#extract page
pdftk $f.pdf cat $page output $f.$page.pdf
cp $f.$page.pdf $f.$page.signed.pdf
size=$(identify -format "%wx%h" $f.$page.pdf)

#select signature area
display -density $sdata[3]x$sdata[4] -immutable -alpha off -update 1 -debug X11 -log "%e" -title "sign $f.pdf#$page" $f.$page.signed.pdf 2>&1 >/dev/null | \
    grep --line-buffered "Button Press" | \
    stdbuf -oL sed -r "s/^.*\+([0-9]+)\+([0-9]+).*$/\1,\2/" | \
    while read line
do
    p1=($p2)
    p2=(${(s/,/)line})

    if [ -n "$p1" ]
    then
        p=(0 0)
        if (( p1[1] < p2[1] )); then dx=$((p2[1]-p1[1])); p[1]=$p1[1]; else dx=$((p1[1]-p2[1])); p[1]=$p2[1]; fi
        if (( p1[2] < p2[2] )); then dy=$((p2[2]-p1[2])); p[2]=$p1[2]; else dy=$((p1[2]-p2[2])); p[2]=$p2[2]; fi
        dy=$((dy*(1+bo)))

        if (( $dx*$sdata[2] > $sdata[1]*$dy ))
        then
            resize=$(((dy+0.0)/sdata[2]))
            p[1]=$((p[1]+(dx-resize*sdata[1])/2))
        else
            resize=$(((dx+0.0)/sdata[1]))
            p[2]=$((p[2]+(dy-resize*sdata[2])/2))
        fi

        echo "Inserting signature..."
        convert -density $density -size $size xc:transparent \( signature.png -resize $((resize*100))% \) -geometry +$p[1]+$p[2] -composite $f.$page.signature.pdf
        pdftk $f.$page.pdf stamp $f.$page.signature.pdf output $f.$page.signed.pdf

        unset p1 p2
    fi
done

if [ -z "$p" ]
then
    echo "You have to click two times. Aborting..."
    exit 1
fi

echo "Joining PDF pages..."
sew=( pdftk A=$f.pdf B=$f.$page.signed.pdf cat )
if (( page > 1 )); then
    sew+=A1-$((page-1))
fi
sew+=B
if (( page < pagecount )); then
    sew+=A$((page+1))-end
fi
sew+=( output $f.signed.pdf )
$sew

echo "Encrypting PDF file..."
pdftk $f.signed.pdf output $f.signenc.pdf user_pw PROMPT owner_pw $(openssl rand -base64 32) allow AllFeatures

यह मेरे लिए काम नहीं कर रहा है, इमेजमैजिक लोड करता है लेकिन केवल स्प्लैश स्क्रीन प्रदर्शित करता है।
एंड्रियास

2

पूर्णता के लिए, ऐसा करने के लिए एक वैकल्पिक स्क्रिप्ट है, जो अब तक उल्लिखित एक के विपरीत, पीडीएफ को (निम्न गुणवत्ता वाली) छवि में परिवर्तित नहीं करती है : https://github.com/martinruenz/signpdf

अन्य समाधानों के साथ मेरा अनुभव था:

  • Xournal पीडीएफ के साथ गड़बड़ (यह स्रोत से निर्माण के बाद काम करने के लिए लग रहा था, हालांकि)
  • ScriptPDF स्क्रिप्ट को छवियों में कनवर्ट करता है और गुणवत्ता को काफी कम करता है। यह भी एक परेशानी निर्भरता (xv) है
  • मैं जिम्प और updf विकल्प की कोशिश नहीं की
  • अंत में मैंने VM में Acrobat Reader का उपयोग किया क्योंकि मुझे भी विभिन्न फॉर्म भरने थे

वापस साझा करने के लिए धन्यवाद। मैं तुम्हारी स्क्रिप्ट देखूंगा। मुझे Xournal के साथ वास्तव में अच्छी सफलता मिली है, यद्यपि आपको यह सुनिश्चित करना है कि मूल फ़ाइल नाम पर निर्यात न करें क्योंकि इससे समस्याएं हो सकती हैं। यदि आप निर्यात करने के लिए एक नया नाम चुनते हैं (तो आप मूल पीडीएफ को अधिलेखित नहीं कर रहे हैं) तो आप इस बग से बच जाएंगे।
स्वतंत्रता_बनाएँ

1

ओकुलर पीडीएफ दर्शक में एनोटेशन के साथ यह अंतर्निहित है। वह पीडीएफ खोलें जिस पर आप हस्ताक्षर करना चाहते हैं, बार पर बाईं ओर समीक्षा का चयन करें, पॉप अप मेनू पर तीसरा विकल्प चुनें जो कहता है, 'फ्रीहैंड लाइन।' अपना हस्ताक्षर बनाएं। यदि आप इसे काली स्याही चाहते हैं, तो नियॉन ग्रीन, मेनू से 'सेटिंग' चुनें, बाईं ओर 'कॉन्फ़िगर कॉन्फ़िगर करें', 'एनोटेशन' बटन चुनें। विकल्पों में से 'फ्रीहैंड लाइन' चुनें, फिर 'संपादन' बटन चुनें। आप यहां लाइन की मोटाई और रंग दोनों को समायोजित कर सकते हैं। मारो और आनंद लो।


0

updf इसके लिए वास्तव में अच्छा है। दस्तावेज़ "साइन" करने के लिए MacOS पर पूर्वावलोकन का उपयोग करने के बाद, updf इस के लिए निकटतम उपयोगकर्ता अनुभव प्रदान करता है।

निम्नलिखित Ubuntu 14.10 और डेबियन 8 पर काम करता है।

मैं अपने सिस्टम में थर्ड पार्टी ppa नहीं जोड़ना चाहता था, इसलिए इसके बदले में updf चल रहा है:

$ bzr branch lp:updf

फिर अन्य उत्तर से संदर्भित के रूप में 2 पंक्ति संपादित करें

निर्भरता स्थापित करें:

# apt-get install python-poppler gir1.2-gtk-3.0 gir1.2-gdkpixbuf-2.0 gir1.2-poppler-0.18 python-cairo librsvg2-2 gir1.2-rsvg-2.0 python-gi-cairo

(ऊपर पर्याप्त था; हर पैकेज आवश्यक नहीं हो सकता है, हालांकि)।

और फिर अजगर कार्यक्रम जगह में चल रहा है:

$ ./src/updf.py

दुर्भाग्यवश, इनपुट डॉक्यूमेंट की तुलना में आउटपुट डॉक्यूमेंट में गुणवत्ता बुरी तरह प्रभावित हो सकती है। ऐसा करने का सही तरीका यह होगा कि हस्ताक्षर को ओवरले किया जाए, और दोषरहित प्रक्रिया में मूल को नहीं बदला जाए। जबकि updf मूल के पुन: एन्कोडिंग में संलग्न होता है।


मुझे python-gi-cairoइसे काम करने के लिए आश्रितों में जोड़ना था ।
जोमा

जोमा: धन्यवाद; मैंने अब अजगर-जी-कैरो को सूची में जोड़ा है।
प्रोजिक्स

0

मैं एक व्यवसाय चलाता हूं और Xournal doesn't को पीडीएफ फाइलों पर गुणवत्ता या नियंत्रण की आवश्यकता है जो मुझे चाहिए।

मैं भी हर समय डिजिटल हस्ताक्षर का उपयोग कर रहा हूं या कर रहा हूं।

मास्टर पीडीएफ संपादक (इस तिथि के अनुसार संस्करण 5) एक भुगतान किया गया आवेदन है जो आसानी से अपेक्षाओं से अधिक है और अब उबंटू के लिए मेरा डिफ़ॉल्ट पीडीएफ रीडर है। मुख्य विशेषता: - हस्ताक्षर दस्तावेज़ - फ़ॉर्म भरें - पाठ और वस्तुओं को संशोधित करें - दस्तावेजों को एनोटेट और हाइलाइट करें - पीडीएफ फाइलों को मर्ज और विभाजित करें - आदि

अधिक जानकारी के लिए: https : //code-ind Industries.net/masterpdfeditor/?-about&ver=5438 पर जाएं

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.