PDFを編集できないようにする必要があります。これを行うには、ほとんどのPDFリーダーで「ファイルとして印刷」機能を使用して別のPDFを生成することです。仕組みは、PDFを画像に変換してから、その画像を別のPDFに挿入するようです。
上記の作業をコマンドラインで実行する必要がありますが、品質を維持するオプションが見つかりませんでした。私は以下を試しました:
convert -quality 100 -density 600 input.pdf output.pdf
pdf2ps input.pdf - | ps2pdf - output.pdf
どちらのオプションもぼやけたPDFを生成します。入力PDFにはテキストとバーコードのみが含まれているので、理由がわかりません。オプション2)は間違いなく良いですが、まだバーコードにわずかな影響を与えます。
これと比較して、Evinceのファイルとして印刷機能を使用すると、元のPDFとほぼ同じで、はるかに高速なPDFが生成されます。私もそれを試しましたが、pdftk
編集可能なPDFが生成されました。
Evinceがコマンドラインで何をするのか?
ノート:私のPDFにはコメント(または「スタンプ」)も含まれており、後で編集する必要はありません(Adobe Acrobatを使用するなど)。上記の2つの解決策は、pdftk
スタンプを編集できるPDFを生成するときにこの点で機能します。
答え1
試してpdftoppm
みてくださいpoppler
。
pdftoppm -aa yes -aaVector yes -png ./input.pdf ./out && convert ./out-*.png ./output.pdf
すべてのページをpngで抽出し(ppm、jpg、tiffも出力可能)、他のpdfに変換します。 -aa および -aaVector フラグは、フォントおよびベクトルアリのエイリアシングに使用されます。 FreeTypeフォントのラスター化、細い線モードなどの他のフラグもあります。このフラグがどのように役立つかはわかりません。確認して調整することもできます。
Evinceはこれを必要とするpoppler-glib
ので、おそらく「ファイルとして印刷」タスクを実行するためにpopplerライブラリを使用します。