Scripting
將書籤從一個 pdf 複製到另一個的腳本
我想將書籤從一系列未壓縮
我知道如何使用
pdftk
. 首先我必須提取書籤:
pdftk file.pdf dump_data output file.txt
然後我必須將它們轉移到壓縮副本:
pdftk file_mrc.pdf update_info file.txt output file_mrc_updated.pdf
(我的壓縮
在這種情況下,我有數百個
我找到了一種從所有文件中提取書籤的方法
find
,但我不知道如何使用此命令將書籤轉儲到副本上:
find . -type f ! -name "*mrc*" -exec pdftk '{}' dump_data output {}.txt ';'
假設您的文件名中沒有奇怪的東西,例如換行符,這樣的事情可能會起作用:
find -type f ! -name "*mrc*" | while read file ; do pdftk "$file" dump_data output "${file%.pdf}.txt" && pdftk "${file%.pdf}_mrc.pdf" update_info "${file%.pdf}.txt" output "${file%.pdf}_mrc_updated.pdf" ; done
但是,如果您願意,可以使用傳統腳本進行更易讀的方法。
#!/bin/bash for file in *.pdf ; do if [[ "$file" =~ "mrc" ]] ; then continue fi commonname="${file%.pdf}" pdftk "$file" dump_data output "${commonname}.txt" pdftk "${commonname}_mrc.pdf" update_info "${commonname}.txt" output "${commonname}_mrc_updated.pdf" done
(假設它們都在同一個文件夾中。)
PS 這個問題實際上更多是關於腳本而不是關於復製書簽;你已經弄清楚了那部分。或許換個標題?