ฉันต้องการแก้ไขเบื้องต้นในไฟล์ PDF ที่มีอยู่ โดยเฉพาะอย่างยิ่ง:
- เพิ่มบท / ที่คั่นหน้า
- เปลี่ยนการกำหนดหมายเลขหน้า
อย่างไรก็ตามฉันไม่พบเครื่องมือ GUI หรือบรรทัดคำสั่งใด ๆ ซึ่งจะเสนอฟังก์ชั่นนี้ มีเครื่องมือทางเลือกแบบเปิดฟรีหรือไม่?
ฉันต้องการแก้ไขเบื้องต้นในไฟล์ PDF ที่มีอยู่ โดยเฉพาะอย่างยิ่ง:
อย่างไรก็ตามฉันไม่พบเครื่องมือ GUI หรือบรรทัดคำสั่งใด ๆ ซึ่งจะเสนอฟังก์ชั่นนี้ มีเครื่องมือทางเลือกแบบเปิดฟรีหรือไม่?
คำตอบ:
ฉันใช้ pdftk เป็นหลัก แต่นี่คือคนอื่น ๆ ที่จะต้องพิจารณา:
pdfsam (แยกไฟล์ PDF และผสาน) : "pdfsam เป็นเครื่องมือโอเพนซอร์ซ (ใบอนุญาต GPL) ออกแบบมาเพื่อจัดการไฟล์ pdf"
PDFJam "ชุดเล็ก ๆ ของสคริปต์เชลล์ซึ่งให้ส่วนต่อประสานที่ง่ายต่อการใช้งานส่วนใหญ่ของแพ็คเกจไฟล์ PDF pdf ที่ยอดเยี่ยม (โดย Andreas Matthias) สำหรับpdfLaTeX " (คุณสามารถใช้ pdfLaTeX ได้โดยตรง)
jPDFTweak : "jPDF Tweak เป็นแอปพลิเคชั่น Java Swing ที่สามารถรวม, แยก, หมุน, จัดลำดับใหม่, ลายน้ำ, เข้ารหัส, เซ็นชื่อและปรับแต่งไฟล์ PDF ได้"
Inkscape:เป็นโปรแกรมแก้ไขกราฟิกแบบเวกเตอร์ที่สามารถนำเข้าหน้า PDF ในรูปแบบ SVG ดั้งเดิมและส่งออกเป็น PDF
Calibre:ซอฟต์แวร์การจัดการ ebook แบบโอเพนซอร์ซที่สามารถแปลงไฟล์ PDF เป็นรูปแบบอื่น ๆ และจัดการได้ในรูปแบบอื่น มาพร้อมกับเครื่องมือบรรทัดคำสั่งเช่นpdfmanipulateซึ่งมีประโยชน์
แน่นอนGhostscriptสามารถทำสิ่งต่าง ๆ มากมายด้วยไฟล์ PDF
mbPDFasm
สามารถทำสิ่งต่างๆด้วยบุ๊กมาร์กได้ แต่ฉันไม่เคยใช้เลย: thierry.schmit.free.fr/spip/spip.php?article15&lang=th
jPDFBookmarks
: flavianopetrocchi.blogspot.com/2009/03/...
ฉันรู้สองโปรแกรมสำหรับจัดการ PDF ภายใต้ Linux:
PDEedit "PDFedit เป็นตัวแก้ไข PDF แบบโอเพนซอร์สและไลบรารีสำหรับจัดการเอกสาร PDF ซึ่งเผยแพร่ภายใต้เงื่อนไขของ GNU GPL เวอร์ชัน 2 ซึ่งจะรวมถึง PDF ที่จัดการกับไลบรารีบนพื้นฐานของ xpdf, GUI, ชุดเครื่องมือบรรทัดคำสั่งและโปรแกรมแก้ไข PDF"
และ pdftk "ถ้า PDF เป็นกระดาษอิเล็กทรอนิกส์แล้ว pdftk เป็นตัวถอดลวดเย็บอิเล็กทรอนิกส์หลุมเจาะแฟ้มลับแหวนถอดรหัสและ X-Ray- แว่นตา Pdftk เป็นเครื่องมือง่าย ๆ สำหรับการทำสิ่งต่าง ๆ ในชีวิตประจำวันด้วยเอกสาร PDF "
วิธีเดียวที่ฉันพบว่าการเพิ่มหมายเลขหน้าลงใน PDF คือด้วย LaTeX:
สร้างไฟล์ /usr/local/bin/add-page-numbers.tex
\documentclass[8pt]{article}
\usepackage[final]{pdfpages}
\usepackage{fancyhdr}
\topmargin 70pt
\oddsidemargin 150pt
\pagestyle{fancy}
\rfoot{\Large\thepage}
\cfoot{}
\renewcommand {\headrulewidth}{0pt}
\renewcommand {\footrulewidth}{0pt}
\begin{document}
\includepdfset{pagecommand=\thispagestyle{fancy}}
\includepdf[pages=-]{input.pdf}
\end{document}
และไฟล์ / usr / local / bin / pdf-numbers
#!/bin/bash
name="${1%\.pdf}-numbers"
wd="$(pwd)"
dir=/tmp/pdf-numbers
mkdir -p "$dir"
cp "$1" "$dir/input.pdf"
cd "$dir"
pdflatex --jobname "$name" /usr/local/bin/add-page-numbers.tex > /dev/null
mv "$name.pdf" "$wd"
rm -r "$dir"
ทำให้ไฟล์หลังสามารถเรียกใช้และรันด้วย
pdf-numbers example.pdf
มันจะสร้างไฟล์ PDF ชื่อ example-numbers.pdf (และเขียนทับมันถ้ามันมีอยู่แล้ว!)
LaTeX ที่มีpdfpages
และbookmark
แพ็คเกจสามารถใช้ประโยชน์จากสิ่งเหล่านี้ได้
สิ่งนี้ทำงานได้โดยการสร้างtex
เอกสารใหม่และรวมถึงเอกสาร PDF ต้นฉบับ (หรือบางส่วน) ผ่านทาง\includepdf
(ดูคู่มือ pdfpages )
นอกจากนี้คุณยังสามารถเปลี่ยนหมายเลขหน้าเช่น
\pagenumbering{roman}
\setcounter{page}{1}
% include pdf pages that should have roman numbering (the front matter)
\pagenumbering{arabic} % switch to arabic numbering
\setcounter{page}{1} % reset page counter
% include pdf pages that should have arabic numbering (the main matter)
หมายเลขหน้า "ตรรกะ" เหล่านี้เป็นเพียงป้ายกำกับที่โปรแกรมอ่าน PDF ส่วนใหญ่สามารถใช้เพื่อนำทางไปยังหน้าใดหน้าหนึ่ง นอกจากนี้ยังมีหมายเลขหน้า "ทางกายภาพ" พื้นฐานที่ทำงานต่อเนื่องกันตั้งแต่วันที่ 1 เพื่อการโต้ตอบระดับล่าง (ดูด้านล่าง)
หลังจากที่คุณรวมหน้า PDF ที่มีอยู่ด้วยการกำหนดหมายเลขหน้าแบบลอจิคัลที่ถูกต้องแล้วคุณสามารถตั้งค่าบุ๊คมาร์ค PDF ("เค้าร่าง") โดยใช้\bookmark
คำสั่ง ไวยากรณ์พื้นฐานคือ
\bookmark[page=<pagenumber>,level=<level>]{<title>}
โดยที่<pagenumber>
หมายเลขหน้าของหน้าเป้าหมาย โปรดทราบว่าสิ่งเหล่านี้ไม่ใช่หมายเลขหน้า "ตรรกะ" ที่กำหนดไว้ก่อนหน้านี้ แต่หมายเลขหน้าภายในทำงานต่อเนื่องกันตั้งแต่วันที่ 1 จากจุดเริ่มต้นของ pdf การทำบุ๊กมาร์กทำได้โดยการระบุ<level>
ซึ่ง0
เป็นระดับสูงสุด นี่<title>
คือข้อความที่จะแสดงในร่างของโปรแกรมอ่าน PDF ดูคู่มือบุ๊คมาร์คสำหรับรายละเอียด
การรวบรวมtex
ไฟล์จะสร้าง PDF ใหม่พร้อมหมายเลขหน้าและบุ๊กมาร์กที่ต้องการ
สำหรับตัวอย่างที่สมบูรณ์เกี่ยวกับการรวมกันของสิ่งเหล่านี้ดูที่https://michaelgoerz.net/notes/pdf-bookmarks-with-latex.html
pdfimport สำหรับ openoffice เป็นทางเลือกที่ดีในการแก้ไขเอกสาร PDF และส่งออกเป็น PDF อีกครั้งหรือบันทึกเป็นรูปแบบอื่น PDF ที่นำเข้าสามารถแก้ไขได้ด้วย OpenOffice Draw