मैं Ubuntu 18.04 और बाद में pdftk कैसे स्थापित कर सकता हूं?


105

क्या pdftkउबंटू में काम करने का कोई मौका 18.04 है? शेल में वॉटरमार्क के साथ पीडीएफ फाइल बनाने के लिए मुझे इसकी आवश्यकता है।

या, किसी pdftkको शेल में वॉटरमार्क के साथ पीडीएफ जेनरेट करने के लिए काम करने का विकल्प पता है ?

मैं पहले से ही उन सभी की जांच / कोशिश करता हूं:

sudo apt list pdf*
Listing... Done
pdf-presenter-console/bionic 4.1-2 amd64
pdf-redact-tools/bionic,bionic 0.1.2-1 all
pdf.js-common/bionic,bionic 1.5.188+dfsg-1 all
pdf2djvu/bionic 0.9.8-0ubuntu1 amd64
pdf2svg/bionic 0.2.3-1 amd64
pdfcrack/bionic 0.16-1 amd64
pdfcube/bionic 0.0.5-2build6 amd64
pdfcube-dbg/bionic 0.0.5-2build6 amd64
pdfgrep/bionic 2.0.1-1 amd64
pdfminer-data/bionic,bionic 20140328+dfsg-1 all
pdfmod/bionic,bionic 0.9.1-8 all
pdfmod-dbg/bionic,bionic 0.9.1-8 all
pdfposter/bionic,bionic 0.6.0-2 all
pdfresurrect/bionic 0.14-1 amd64
pdfsam/bionic,bionic 3.3.5-1 all
pdfsandwich/bionic 0.1.6-1 amd64
pdfshuffler/bionic,bionic 0.6.0-8 all
pdftoipe/bionic 1:7.2.7-1build1 amd64

लेकिन काम करने का औजार नहीं मिला।


3
और पीडीएफ श्रृंखला, भी! ये दो उपकरण मेरे लिए अमूल्य थे!
जोश .२३

3
सिर्फ "आप कोशिश कर सकते हैं ..." नहीं लिखें, तो यह बताएं कि आप इसे कैसे करते हैं और उत्तर को अधिक उपयोगी बनाने के लिए आपको जो कदम उठाने होंगे
ADDB

1
यदि आपने अपनी समस्या स्वयं हल कर ली है, तो कृपया अपने स्वयं के प्रश्न का उत्तर दें और अपना उत्तर स्वीकार करें। अपने प्रश्न या टिप्पणियों में उत्तर न डालें! :-) मैंने उत्तर को जोड़ने वाले परिवर्तन को वापस लेने की स्वतंत्रता ली, लेकिन आप हमेशा नीचे दिए गए लिंक के माध्यम से किसी पोस्ट के इतिहास की समीक्षा कर सकते हैं।
डेविड फॉस्टरस्टर


2
यह शर्म की बात है कि इतना अच्छा उपकरण सिर्फ इसलिए हटा दिया गया क्योंकि डेवलपर्स को स्वीकार्य समाधान नहीं मिला
डैनियल एल्डर

जवाबों:


92

उबंटू में pdftk पैकेज (और उसके नदी के ऊपर Debian पैकेज ) अब पदावनत GCJ क्रम पर अपनी निर्भरता की वजह से हटा दिया गया था। मुझे एक कांटा मिला जो OpenJDK या इसके समान पर निर्भर करता है।

भविष्य के Ubuntu रिलीज़ से इंस्टॉल करें (अनुशंसित)

कॉस्मिक (उबंटू 18.10) के साथ शुरू होकर, उबंटू जहाज pdftk-javaउसी स्रोत कोड से एक प्रतिस्थापन के रूप में नीचे। स्थापित करने का प्रयास करने के pdftkबजाय इस पैकेज को स्थापित करेगा। पहले रिलीज के उपयोगकर्ता इसे पैकेज रिपॉजिटरी से मैन्युअल रूप से डाउनलोड कर सकते हैं और इसे अपने पसंदीदा पैकेज मैनेजर के साथ इंस्टॉल कर सकते हैं।

पीपीए (पुराने) से इंस्टॉल करें

मैंने उपयुक्त निर्भरताओं के साथ (केवल बायोनिक के लिए) एक डेब पैकेज बनाया:

sudo add-apt-repository ppa:malteworld/ppa
sudo apt update
sudo apt install pdftk

पैकेज में एक आवरण लिपि होती है /usr/bin, जिससे आप इसे सामान्य रूप से ग्रहण कर सकते हैं:

pdftk <arguments> ...

स्रोत से स्थापित करें

  1. बिल्ड टूल और निर्भरता स्थापित करें:

    sudo apt install git default-jdk-headless ant \
        libcommons-lang3-java libbcprov-java
    

    बेशक आप एक अलग समर्थित JDK का उपयोग करके आपूर्ति की गई की तुलना में कर सकते हैं default-jdk-headless

  2. Download मार्क विनयाल का pdftk कांटा :

    git clone https://gitlab.com/pdftk-java/pdftk.git
    cd pdftk
    
  3. libफ़ोल्डर में आवश्यक पुस्तकालयों के लिए प्रतीकात्मक लिंक रखें :

    mkdir lib
    ln -st lib /usr/share/java/{commons-lang3,bcprov}.jar
    
  4. JAR पैकेज बनाएँ:

    ant jar
    
  5. JAR पैकेज चलाएँ:

    java -jar build/jar/pdftk.jar --help
    
  6. (वैकल्पिक) JAR पैकेज को चलाने के लिए, उदाहरण के लिए, जब आप इसे अन्य सिस्टम में वितरित करते हैं, तो आपको कम से कम वर्किंग (हेडलेस) की आवश्यकता होती है, JRE default-jre-headlessपैकेज से और साथ ही जावा लाइब्रेरी libcommons-lang3-javaऔर libbcprov-java:

    sudo apt install default-jre-headless libcommons-lang3-java libbcprov-java
    

    फिर से आप एक अलग JRE का उपयोग कर सकते हैं default-jre-headless। यह पीडीएफ कांटा पुराने JRE संस्करणों (प्रलेखन के अनुसार the 7) के लिए बिल्ड का भी समर्थन करता है।

  7. (वैकल्पिक) आप जेएआर (जावा आर्काइव) फ़ाइलों को निष्पादित करने के लिए लिनक्स सिखा सकते हैं update-binfmts(8)। अधिकांश जेआरई डीब पैकेज में भेज दिए जाते हैं, जिनमें कैनोनिकल के पैकेज रिपॉजिटरी में शामिल हैं, स्थापना के दौरान इसका ध्यान रखते हैं, हालांकि यह कुछ ओपनजेडके पैकेज में छोटी गाड़ी लगती है।

पुनश्च: मैंने उबंटू ट्रस्टी में गैर-हेडलेस OpenJDK 9 के साथ यह कोशिश की, लेकिन मुझे कम कारण दिखाई देते हैं कि यह बायोनिक में हेडलेस OpenJDK 10 के साथ काम क्यों नहीं करना चाहिए।

अनुप्रयोगों पर निर्भर करता है

एक टिप्पणीकार ने वैध सवाल उठाया कि क्या इस परिवर्तन से प्रभावित पीडीएफ चेन एप्लिकेशन प्रभावित हैं:

  • नहीं , पीडीएफ चेन एक सी ++ एप्लिकेशन है और जीसीजे के अपवित्रीकरण से सीधे प्रभावित नहीं होता है। इसे एक काम करने वाले pdftk निष्पादन योग्य की जरूरत है, लेकिन यह परवाह नहीं करता है कि यह हुड के नीचे कैसे काम करता है। किसी भी स्थिति में, पीडीएफ चेन को बायोनिक के साथ-साथ पीडीएफटीके से भी गिरा दिया गया था ।

मैं 18.04 के लिए रिपॉज से हटाए गए एक अलग पैकेज को स्थापित करने के बारे में एक और सवाल पढ़ रहा था, और एक उपयोगकर्ता ने gdebi का उपयोग करके .deb पैकेज को स्थापित करने का सुझाव दिया, जिसे निर्भरता को संभालना चाहिए। क्या आपको लगता है कि यह काम करेगा या यह कुछ समस्याएं पैदा करेगा? यह एक गूंगा सवाल हो सकता है - मैं पैकेज प्रबंधन के बारे में अधिक समझने की कोशिश कर रहा हूं।
हाय जिन

5
इस उत्तर में निर्देशों के दोनों सेट मार्क विनील के pdftk-javaकांटे को स्थापित करते हैं । वह (बहुत संभवतः) pdftkडेबियन में आधिकारिक प्रतिस्थापन ( देखें ) और उबंटू में ( 18.10 के लिए उपलब्ध पैकेज के साथ ) होगा। तो यह सबसे अच्छा जवाब लगता है , क्योंकि यह "भविष्य का प्रमाण" है: 18.10 बजे से, आपको आधिकारिक रिपॉजिट में एक ही सॉफ्टवेयर मिलेगा।
tanius 16

उस पर @DavidFoerster। प्रश्न: क्या antबिल्ड के लिए ग्रैडल का उपयोग करने के लिए उपयुक्त माध्यम से स्थापित पुस्तकालयों के साथ सिफारिश करने का कोई विशेष कारण है ?
राफेल

उक्त डमी पैकेजों के संबंध में एक अनुवर्ती प्रश्न पर , इस पर संदेह उत्पन्न हुआ कि क्या निर्भरताएँ pdftk-javaअच्छी तरह से चुनी जाती हैं। आप इसे देखना चाहते हैं।
राफेल

मैंने उन समीकरणों के लिए पैकेज विवरण तैयार किए जो SDKMAN द्वारा स्थापित जावा प्रदान करते हैं! एक पैकेज के रूप में जो की निर्भरता को पूरा करता है pdftk-java
राफेल

61

Ubuntu 18.04 के लिए, बस pdftk स्नैप पैकेज स्थापित करें:

sudo snap install pdftk

1
साइमलिंकिंग ने मेरे लिए काम नहीं किया, क्योंकि snapस्क्रिप्ट नाम की जरूरत है। लेकिन एक न्यूनतम आवरण स्क्रिप्ट /snap/bin/pdftk-smoser.pdftk "$@"समान रूप से अच्छी तरह से काम करती है।
बोल्डवैन

उबंटू का क्या संस्करण? मेरे द्वारा दिए गए सटीक निर्देश मेरे लिए काम करते हैं। मैं कुछ पर्ल xml प्रोसेसिंग स्क्रिप्ट्स से pdftk कहता हूं और एसिड टेस्ट स्क्रिप्ट्स का काम करता है और मर्ज किए गए pdf का उत्पादन करता है।
पैगेट्ज़

3
मैंने उपर्युक्त उत्तर को 'pdftk' के बजाय केवल 'pdftk' का उपयोग करने के लिए अद्यतन किया क्योंकि मैंने (smoser) ने उसी सामग्री के साथ स्टोर में 'pdftk' नामक एक स्नैप अपलोड किया है। ( Snapcraft.io/pdftk )
धूम्रपान करने वाला

4
यह ठीक लग रहा था, लेकिन तब pdftk किसी भी फाइल पर नहीं खुलेगा या काम नहीं करेगा (हमेशा कहता है 'त्रुटि: फ़ाइल खोजने में असमर्थ। त्रुटि: पीडीएफ फाइल को खोलने में विफल:'), जिसमें कोई मैन पेज भी नहीं है। अंत में मैंने इसे स्नैप हटाने के साथ हटा दिया और ऊपर @abu_bua समाधान के साथ चला गया, जो पूरी तरह से काम करता है।
स्कोबायडू

1
स्नैप्स के डिज़ाइन बिंदुओं के कारण, एक स्नैप सभी फ़ाइलों तक नहीं पहुंच सकता है। इस पर कुछ जानकारी github.com/smoser/pdftk/issues/1 पर उपलब्ध है । सबसे आसान उपाय है कि आप अपने घर की डायरेक्टरी में फाइलें रखें।
स्मोकर

36

Ubuntu 18.04 amd64 पर pdftk स्थापित करना

मैंने एक छोटी बैश स्क्रिप्ट लिखी है जो उबंटू 18.04 पर इंस्टॉलेशन को स्वचालित करती है। ध्यान दें कि मैंने केवल amd64 पैकेज डाउनलोड किए हैं!

#!/bin/bash
#
# author: abu
# date:   July 3 2019 (ver. 1.1)
# description: bash script to install pdftk on Ubuntu 18.04 for amd64 machines
##############################################################################
#
# change to /tmp directory
cd /tmp
# download packages
wget http://launchpadlibrarian.net/340410966/libgcj17_6.4.0-8ubuntu1_amd64.deb \
 http://launchpadlibrarian.net/337429932/libgcj-common_6.4-3ubuntu1_all.deb \
 https://launchpad.net/ubuntu/+source/pdftk/2.02-4build1/+build/10581759/+files/pdftk_2.02-4build1_amd64.deb \
 https://launchpad.net/ubuntu/+source/pdftk/2.02-4build1/+build/10581759/+files/pdftk-dbg_2.02-4build1_amd64.deb


echo -e "Packages for pdftk downloaded\n\n"
# install packages 
echo -e "\n\n Installing pdftk: \n\n"
sudo apt-get install ./libgcj17_6.4.0-8ubuntu1_amd64.deb \
    ./libgcj-common_6.4-3ubuntu1_all.deb \
    ./pdftk_2.02-4build1_amd64.deb \
    ./pdftk-dbg_2.02-4build1_amd64.deb
echo -e "\n\n pdftk installed\n"
echo -e "   try it in shell with: > pdftk \n"
# delete deb files in /tmp directory
rm ./libgcj17_6.4.0-8ubuntu1_amd64.deb
rm ./libgcj-common_6.4-3ubuntu1_all.deb
rm ./pdftk_2.02-4build1_amd64.deb
rm ./pdftk-dbg_2.02-4build1_amd64.deb

यह स्क्रिप्ट संकुल को डाउनलोड करेगा /tmpऔर एक apt installकमांड का उपयोग करके वहां से इंस्टॉल करेगा ! बाद में /tmpनिर्देशिका में संकुल हटा दिया जाएगा।

इस स्क्रिप्ट को चलाने के लिए, इसे एक संपादक में कॉपी करें और इसे सहेजें जैसे pdftk_installer । फिर इसे किसी टर्मिनल में चलाएं

chmod 755 pdftk_installer
./pdftk_installer

ऐसा लगता है pdftk-dbg_2.02-4build1_amd64.debकि वैकल्पिक है
जोसेफ हारुष

यह स्नैप संस्करण या पीपीए से जावा-आधारित संस्करण के लिए बहुत बेहतर है - धन्यवाद!
सिमोन

कुछ स्पष्टीकरण देने के लिए, यह Ubuntu-Artful (17.10) पैकेज डाउनलोड करता है।
Randall Whitman

3
सभी लिंक टूट गए हैं
डेवलपर

1
लिंक अब अपडेट किया गया!
abu_bua

10

आप pdftk चलाने के लिए स्थापित pdftk के साथ Ubuntu 16.04 की एक docker छवि का उपयोग करने का प्रयास कर सकते हैं:

  1. डॉकटर स्थापित करें:

    sudo apt install docker.io
  2. उबुन्टू 16.04 खींचो और बैश शेल चलाओ:

    sudo docker run -it ubuntu:16.04 bash
  3. कंटेनर प्रॉम्प्ट से pdftk को अपडेट और इंस्टॉल करें:

    apt update
    apt install pdftk
  4. एक नए टर्मिनल रन पर:

    sudo docker ps -a
  5. Ubuntu की CONTAINER ID का उपयोग करके छवि बनाएं: 16.04 pdftk के साथ एक नई छवि स्थापित करने के लिए:

    sudo docker commit CONTAINER_ID ubuntu_pdftk

    ( CONTAINER_IDअपने कंटेनर आईडी से बदलें ।)

  6. नाम की एक फ़ाइल बनाएं pdftkमें /usr/binऔर फिर इसे का उपयोग कर निष्पादन योग्य बनाने chmod +x /usr/bin/pdftk:

    #!/bin/sh
    set -eu
    docker run --name pdftk -it -v "$PWD:/workdir$PWD" -w "/workdir$PWD" ubuntu_pdftk pdftk "$@"
    docker rm pdftk

लगभग वही जो मैंने किया। सिवाय इसके, क्या आपकी गलती नहीं है -v "$PWD:/workdir$PWD" -w "/workdir$PWD"?
ओंद्र kaइका

5

मैं आर्टफुल (17.10) डेब पैकेज से pdftk स्थापित करने में सक्षम था। उस क्रम में डाउनलोड और इंस्टॉल करें:

gcc-6-baseयदि आप इसे cli से करते हैं, तो निर्भरता त्रुटि से बचने के लिए इसे स्थापित करना सबसे अच्छा है ।

अभी के लिए यह ट्रिक करना चाहिए ...


2

मैंने PDFTK को बायोनिक के तहत चलाने के लिए एक त्वरित और गंदा काम किया।

lsb_release -a && pdftk --version
No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 18.04 LTS
Release:        18.04
Codename:       bionic

pdftk 2.02 a Handy Tool for Manipulating PDF Documents
Copyright (c) 2003-13 Steward and Lee, LLC - Please Visit: www.pdftk.com

मैं अपना अद्यतन करता हूं sources.listऔर निम्नलिखित पंक्तियों को शामिल करता हूं :

deb http://no.archive.ubuntu.com/ubuntu/ artful main restricted
deb http://no.archive.ubuntu.com/ubuntu/ artful-updates main restricted
deb http://no.archive.ubuntu.com/ubuntu/ artful universe
deb http://no.archive.ubuntu.com/ubuntu/ artful-updates universe
deb http://no.archive.ubuntu.com/ubuntu/ artful multiverse
deb http://no.archive.ubuntu.com/ubuntu/ artful-updates multiverse
deb http://no.archive.ubuntu.com/ubuntu/ artful-backports main restricted universe multiverse
deb http://security.ubuntu.com/ubuntu artful-security main restricted
deb http://security.ubuntu.com/ubuntu artful-security universe
deb http://security.ubuntu.com/ubuntu artful-security multiverse

उसके बाद मैं एक साधारण दौड़ता हूं

sudo apt update

परिवर्तनों को प्रभावी बनाने के लिए।

फिर के माध्यम से pdftk स्थापित करें

sudo apt install pdftk

फिर Artful स्रोतों को source.list से हटा दें और इस तरह से मैं Bionic के तहत चल रहे PDFTK प्राप्त कर रहा हूं।

स्रोत: https://christiandietze.de/pdftk-with-ubuntu-bionic-18-04/


5
हाय क्रिस्चियन, क्या आप अपने उत्तर को अपडेट करने के लिए मन में शामिल करेंगे कि आपका वर्कअराउंड क्या है? हम पसंद करते हैं यदि आप यहां उत्तर के आवश्यक भागों को शामिल करते हैं और फिर संदर्भ के लिए लिंक प्रदान करते हैं। धन्यवाद!
कल्वेट

1
हाँ, विशेष रूप से जिस साइट से आप जुड़े हैं, वह नीचे लगती है।
terdon

हाय CalvT, मेरे द्वारा उपयोग किए जाने वाले वर्कअराउंड को आर्टफुल पैकेज को apt में जोड़ने के लिए, pdftk स्थापित करें और उन्हें हटा दें। और टेरडोन मेरी साइट पिछले 30 दिनों के भीतर नीचे नहीं थी, इसलिए मुझे नहीं पता कि आपको साइट का उपयोग क्यों नहीं करना चाहिए।
WiKrIe

@WiKrIe आपकी साइट के साथ एक समस्या है। मैं आधार URL तक पहुँच सकता हूँ, लेकिन आपके द्वारा लिंक किए गए पृष्ठ पर नहीं । न ही वेबैक मशीन हो सकती है। Google कैश इसे लोड नहीं करेगा, लेकिन स्रोत को लोड करेगा । कहीं न कहीं उस पेज पर कोई समस्या होनी चाहिए। इसीलिए टेर्डन ने सोचा कि आपकी साइट डाउन हो गई है। इसलिए जब तक मैंने जाँच नहीं की। उम्मीद है की वो मदद करदे।
द्वादश

1
-1 उचित प्राथमिकता के नियमों के बिना अलग-अलग उबंटू रिलीज के लिए रिपॉजिटरी मिश्रण करने के सुझाव के लिए।
डेविड फ़ॉस्टर

2

यह ubuntu 18.04 के लिए काम करता है:

sudo add-apt-repository ppa:malteworld/ppa
sudo apt update
sudo apt install pdftk

हाँ। ऐसा होता है। और जब आप ओलिबिया / इंकस्केप-मल्टीपज-एक्सपोर्ट ( github.com/olibia/inkscape-multipage-export ) का उपयोग करने की कोशिश करते हैं, तो यह एक समस्या को हल करता है
Geppettvs D'onstanzo

1

आप docker के साथ Ubuntu 18.04 पर pdftk चला सकते हैं। यह अदिमिर के उत्तर का एक उन्नत संस्करण है।

यह मानते हुए कि हमें केवल pdftk के एक cli घटक की आवश्यकता है और मशीन पर स्थापित docker है। बस नाम pdftkऔर निष्पादन योग्य बिट सेट के साथ $ PATH पर कहीं निम्नलिखित स्क्रिप्ट रखें :

#!/bin/bash

# Build or use cached image and tag with "local/local/ubuntu_pdftk", suppress 
# output to maintain compatibility in case you are parsing the pdftk output.
# It will build the image if it's absent or use the cached one.
echo "FROM ubuntu:16.04
RUN apt-get update && \
    apt-get install -y pdftk && \
    rm -rf /var/lib/apt/lists/*" | docker build -t local/local/ubuntu_pdftk - 2>&1 > /dev/null

# Run the pdftk as current user
set -eu
docker run --name pdftk -it --user $(id -u):$(id -g) --rm -v "$PWD:/workdir$PWD" -w "/workdir$PWD" local/local/ubuntu_pdftk pdftk "$@"

छवि बनाने के लिए पहले रन में 2 मिनट का समय लगेगा, अगर निर्मित छवि मशीन पर रहेगी तो अगले रन तेज होंगे। आप छवि को स्वतंत्र रूप से साफ कर सकते हैं, इसे तब बनाया जाएगा जब आपको अगली बार इसकी आवश्यकता होगी।


1

@Abu_bua द्वारा पोस्ट की गई स्क्रिप्ट में डाउनलोड लिंक अब काम नहीं कर रहा है (शायद 17.10 के लिए समर्थन के अंत के कारण?), इसलिए यहां उसी स्क्रिप्ट का एक संशोधित संस्करण है जो 16.04 बिल्ड से संबंधित पैकेज का उपयोग करता है। 18.04 पर चलने वाली मशीन पर परीक्षण और परीक्षण किया गया।

#!/bin/bash
#
# author: abu
# date:   May 12 2018
# description: bash script to install pdftk on Ubuntu 18.04 for amd64 machines
##############################################################################
#
# change to /tmp directory
cd /tmp
# download packages
wget http://mirrors.edge.kernel.org/ubuntu/pool/main/g/gcc-5/libgcj16_5.4.0-6ubuntu1~16.04.10_amd64.deb \
    http://mirrors.edge.kernel.org/ubuntu/pool/main/g/gcc-defaults/libgcj-common_4.9.3-9ubuntu1_all.deb \
    http://mirrors.edge.kernel.org/ubuntu/pool/universe/p/pdftk/pdftk_2.02-4_amd64.deb \
    http://mirrors.edge.kernel.org/ubuntu/pool/universe/p/pdftk/pdftk-dbg_2.02-4_amd64.deb

echo -e "Packages for pdftk downloaded\n\n"
# install packages 
echo -e "\n\n Installing pdftk: \n\n"
sudo apt-get install ./libgcj16_5.4.0-6ubuntu1~16.04.10_amd64.deb \
    ./libgcj-common_4.9.3-9ubuntu1_all.deb \
    ./pdftk_2.02-4_amd64.deb \
    ./pdftk-dbg_2.02-4_amd64.deb
echo -e "\n\n pdftk installed\n"
echo -e "   try it in shell with: > pdftk \n"
# delete deb files in /tmp directory
rm ./libgcj16_5.4.0-6ubuntu1~16.04.10_amd64.deb
rm ./libgcj-common_4.9.3-9ubuntu1_all.deb
rm ./pdftk_2.02-4_amd64.deb
rm ./pdftk-dbg_2.02-4_amd64.deb

1

मुझे अदिमिर का डॉकटर उत्तर पसंद है, लेकिन इसमें सुरक्षा और अनुमतियों की सामान्य समस्याएं हैं, क्योंकि डॉकटर को मूल रूप से चलना है। यदि वह आपको परेशान करता है, तो विलक्षणता का उपयोग करने का प्रयास करें । आपको छवि को रूट के रूप में बनाने की आवश्यकता है, लेकिन कोई भी उपयोगकर्ता इसे चला सकता है।

यहाँ Singularityमैं उपयोग की गई फ़ाइल है:

# Generate the Singularity container to run pdftk from Ubuntu 16.04.
Bootstrap: docker
From: ubuntu:16.04

%help
    pdftk was removed from Ubuntu 18.04, so this container packages up the old
    version.

%post
    apt-get update -qq
    apt-get install -qq pdftk

%runscript
    pdftk "$@"

फिर मैंने प्रतिमा का निर्माण किया।

sudo singularity build pdftk.simg Singularity

एक बार काम करने के बाद, मैंने इसे पथ पर एक फ़ोल्डर में स्थापित किया, साथ ही एक रैपर स्क्रिप्ट भी जो घर फ़ोल्डर को वर्तमान निर्देशिका में सेट करती है।

sudo mv pdftk.simg /usr/bin/
echo 'singularity run --home $PWD /usr/bin/pdftk.simg "$@"' > pdftk
sudo chown root:root pdftk
sudo chmod +x pdftk
sudo mv pdftk /usr/bin

और अब मैं चला सकता हूं pdftk

$ pdftk --version

pdftk 2.02 a Handy Tool for Manipulating PDF Documents
Copyright (c) 2003-13 Steward and Lee, LLC - Please Visit: www.pdftk.com
This is free software; see the source code for copying conditions. There is
NO warranty, not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

केवल नीचे की ओर यह है कि यह एक बड़ा निष्पादन योग्य है, क्योंकि इसमें एक पूर्ण Ubuntu 16.04 वितरण शामिल है। यदि आप पीडीएफ फाइलों में हेरफेर करने की कोशिश कर रहे हैं तो आपको परेशानी हो सकती है।

$ ls -lh /usr/bin/pdftk*
-rwxr-xr-x 1 root root  53 Jul 23 12:32 /usr/bin/pdftk
-rwxr-xr-x 1 root root 88M Jul 23 12:06 /usr/bin/pdftk.simg

0

क्या कुछ जादू जादू का उपयोग करने का एक शानदार अवसर है!

मैंने जो किया वह ubuntu 16.04 पर चलने वाले एक डॉकटर कंटेनर का उपयोग करने के लिए था, इसके अंदर pdftk स्थापित करें और इसे वहाँ चलाएं।

यदि आप एक ही काम करना चाहते हैं, तो यहां सटीक कदम दिए गए हैं:

  1. यदि आपके पास पहले से यह नहीं है तो डॉकटर स्थापित करें ( https://docs.docker.com/install/ )
  2. कहीं एक निर्देशिका बनाएँ pdftk
  3. नाम वाली निर्देशिका बनाएं dockerअंदर pdftkनिर्देशिका
  4. इस डॉकरीफाइल को pdftk/dockerनिर्देशिका में कॉपी करें : https://github.com/gkotian/gautam_linux/blob/master/docker/pdftk/Dockerfile
  5. इस स्क्रिप्ट को pdftk/dockerनिर्देशिका में भी कॉपी करें : https://github.com/gkotian/gautam_linux/blob/master/scripts/dockershell
  6. सुनिश्चित करें कि dockershellस्क्रिप्ट निष्पादन योग्य है
  7. में pdftkनिर्देशिका, सभी पीडीएफ फाइलों आप के साथ काम करना चाहते हैं कॉपी
  8. cd /path/to/pdftk
  9. डॉकरफ़ाइल के पथ के साथ डॉकशेल स्क्रिप्ट चलाएँ: docker/dockershell docker/Dockerfile(आपको इसे चलाने में पहली बार कुछ समय लगेगा)

अब आपके पास डॉकटर कंटेनर के अंदर एक प्रॉम्प्ट होना चाहिए, जहां से आप pdftk चला सकते हैं। जब आप कर लें, exitतो कंटेनर से बाहर निकलने के लिए टाइप करें और मेजबान मशीन पर वापस लौटें। कोई भी नई जनरेट की गई फ़ाइल pdftkनिर्देशिका में मौजूद होगी (लेकिन वे मूल रूप से स्वामित्व में होंगी, इसलिए आपको स्वामित्व को आवश्यकतानुसार बदलना पड़ सकता है)।


0

WSL में चल रहे मेरे 18.04 पर मैंने निम्नलिखित कार्य किया

(.Deb फ़ाइलों से निर्भरताएँ प्राप्त करें):

wget http://hr.archive.ubuntu.com/ubuntu/pool/main/g/gcc-6/libgcj17_6.4.0-8ubuntu1_amd64.deb

wget http://mirrors.edge.kernel.org/ubuntu/pool/main/g/gcc-defaults/libgcj-common_6.4-3ubuntu1_all.deb

sudo apt install gcc-6-base

फिर उपरोक्त निर्भरताएं स्थापित करें

sudo dpkg -i libgcj*

तब मैंने https://packages.debian.org/search?keywords=pdftk.deb से लिया

wget http://ftp.us.debian.org/debian/pool/main/p/pdftk/pdftk_2.02-4+b2_amd64.deb
sudo dpkg -i pdftk_2.02-4+b2_amd64.deb

1
Libgcj और libgcj17 के लिंक टूट गए हैं।
HJLebbink

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