ฉันทำซ้ำไฟล์ PDF จำนวนมากทุกวันดังนั้นฉันจึงใช้เวลามากคิดว่าจะทำอย่างไรให้ดีที่สุด
สำหรับฉันวิธีที่ดีที่สุดคือแยก PDF ในไฟล์ PDF หนึ่งหน้าถัดจากแก้ไขด้วย GIMP ถัดจากการรวมเข้าด้วยกัน ฉันไม่ได้ใช้ imagemagick กับไฟล์ทั้งหมด (ฉันไม่ได้ใช้เลย) ดังนั้นฉันจะไม่สูญเสียเลเยอร์ข้อความในทุกหน้า แต่จะทำซ้ำเท่านั้น อย่าโหลดไฟล์ PDF ทั้งหมดพร้อมกันเพราะจะทำให้หน่วยความจำหมด
แยก PDF ในไฟล์ 1 หน้า
แบ่งไฟล์ PDF เป็น PDF ได้อย่างง่ายดาย 1 หน้าที่คุณสามารถทำได้โดยใช้ฟังก์ชันทุบตี (วางไว้ใน ~ / .bashrc):
function pdf_split(){
for file in "$@"; do
if [ "${file##*.}" != "pdf" ]; then
echo "Skip $file because it's not PDF file";
continue
fi;
pages=$(pdfinfo "$file" | grep "Pages" | awk '{print $2}')
echo "Detect $pages in $file";
filename="${file%.*}";
unset Outfile;
for i in $(seq 1 "$pages"); do
pdftk "$file" cat "$i" output "$filename-$i.pdf";
Outfile[$i]="$filename-$i.pdf";
done;
done;
};
ตอนนี้คุณสามารถเข้าสู่split_pdf file.pdf
เพื่อรับไฟล์ PDF จำนวนมาก
ทำซ้ำไฟล์
แต่ตอนนี้คุณต้องแก้ไขไฟล์ทั้งหมดนี้ gimp original-filename-*.pdf
คุณสามารถทำมันได้ด้วย ฉันขอแนะนำให้กำหนดค่าทางลัดใน GIMP (หน้าต่างหลัก -> แก้ไข -> ทางลัด) เพื่อแทนที่ไฟล์ (ฉันใช้ CTRL + R), ตัวกรองเบลอ (เช่น CTRL + D), ปิดไฟล์ (เช่น CTRL + W) และออก GIMP ( eg.CTRL + Q) อย่าลืมโหลด GIMP ไปยังไฟล์หลาย ๆ ไฟล์พร้อมกัน แต่ GIMP นั้นเป็นเรื่องเกี่ยวกับการโหลดหลังจากเปิดเพื่อให้คุณสามารถใช้gimp original-filename-*.pdf
กับไฟล์ที่ปลอดภัยนับพันไฟล์
รวมไฟล์
คุณสามารถรวมไฟล์ได้อย่างง่ายดายด้วย: pdftk originam-filename-*.pdf cat output "new-file-anon.pdf";
เชื่อมต่อเข้าด้วยกัน
การดำเนินการเหล่านี้ซ้ำซากและน่าเบื่อดังนั้นฉันจึงเชื่อมต่อทั้งหมดใน 1 สคริปต์:
function pdf_redact(){
for file in "$@"; do
if [ "${file##*.}" != "pdf" ]; then
echo "Skip $file because it's not PDF file";
continue
fi;
pages=$(pdfinfo "$file" | grep "Pages" | awk '{print $2}')
echo "Detect $pages in $file";
filename="${file%.*}";
unset Outfile;
for i in $(seq 1 "$pages"); do
pdftk "$file" cat "$i" output "$filename-$i.pdf";
Outfile[$i]="$filename-$i.pdf";
done;
gimp "${Outfile[@]}";
pdftk "${Outfile[@]}" cat output "$filename-anon.pdf";
rm "${Outfile[@]}";
read -p "Do you want open output file? " -n 1 -r
echo
if [[ $REPLY =~ ^[Yy]$ ]]
then
evince "$filename-anon.pdf";
fi
read -p "Do you want upload output file to Scribd.com? " -n 1 -r
echo
if [[ $REPLY =~ ^[Yy]$ ]]
then
scribd_up "$filename-anon.pdf";
fi
done;
};
เวอร์ชันล่าสุดของสคริปต์นี้สามารถเข้าถึงได้ที่: http://dostep.jawne.info.pl/it/bashrc
อย่าลืมปิด GIMP (CTRL + Q) หลังจากการเขียนซ้ำทั้งหมดเพื่อดำเนินการต่อสคริปต์
นอกจากนี้ฉันยังเปิดไฟล์ redacted (ฉันชอบอ่านเพื่อตรวจสอบว่าทั้งหมด) และอัปโหลดไปยัง Scribd ด้วยสคริปต์อื่นของฉัน - scribd_upดังนั้นตอนนี้ฉันสามารถ redact ไฟล์ PDF ได้อย่างมีประสิทธิภาพมาก