品質を失うことなく(Linux)コマンドラインからPSまたはPDFに注釈を付ける方法は?
-
27-10-2019 - |
質問
Linux用のコマンドラインツールは、PSまたはPDFファイルにテキストまたは特定のフォント、色、サイズを品質を損なうことなく注釈させることができますか?私はImageMagickの変換を試しましたが、結果として得られるPDFはかなり質が低いです。
私は元々Adobe Illustratorで作成されたテンプレートを持っています。特定の場所で名前を付けてPDFを生成したいと思います。私は名前の膨大なリストを持っているので、これをバッチで(インタラクティブではない)にしたいと思います。
誰かがアイデアを持っているなら、私はそれらを聞いてくれてありがとう。ありがとう、カール
解決
PDFフォームを作成して記入する方が良いと思います pdftk fill_form バッチ:
$ pdftk form.pdf fill_form data.fdf output out.pdf flatten
フォームデータを入れる必要があります フォームデータ形式 (フィールド名と値が指定されたXMLファイルのみです)。
注意してください flatten
指図。充填フォームをプレーンドキュメントに変換する必要があります。
もう1つの方法は、「特定の場所に名前を付けて」と透明な背景のPDFドキュメントのセットを作成することです。 PDFTKスタンプ それらのそれぞれはテンプレート上のものです:
$ pdftk template.pdf stamp words.pdf output out.pdf
他のヒント
これを達成する別の方法は、PostScriptファイル自体をハッキングすることです。以前はAIファイルでした そうだった PostScriptファイル、そしてそれらを直接変更できます。もうそれが本当かどうかはわかりません。したがって、エクスポートする必要がある場合があります。
簡単にするために、私は単一のページがあると仮定します。したがって、最後に1回の呼び出しがあります showpage
(おそらく別の名前を介して)。 Showpageの前に実行される描画コマンドは、ページに表示されます。
グラフィックの状態を再現する必要があるかもしれません(initgraphics
)、文書の残りの部分はそれをすべて面白くしていたかもしれません。
テキストを配置するには、新しいフォント(古いものはinitgraphicsによって無効にされた)をポイント(72ポイント/インチ、28.3465ポイント/cm)の位置を測定する必要があります。
/Palatino-Roman 17 selectfont %so much prettier than Times
x y moveto
(new text) show
マージを行うには、Perl:Documentの開始をここにある文書として発し、プログラムごとにテキスト作成行を作成し、ドキュメントの尾を発します。これが例です PerlでPostScriptを生成します
または、次のようにコマンドライン(GhostScriptを使用して)からデータを取得できます。 --
オプション ($gs -q -- program.ps arg1 arg2 ... argn
)。これらの引数は、名前の名前 /引数を介してプログラムにアクセスできます。
ですから、幅1インチ、高さ3インチ、左から4インチ、下から4インチの左上隅、左上隅から4インチの空白の標識を保持している怖い道化師の素敵なグラフィックがあるとします。このコードをPSプログラムに挿入することができます showpage
.
initgraphics
/Palatino-Roman 12 selectfont
4 72 mul 4 72 mul moveto
ARGUMENTS {
gsave show grestore 0 -14 rmoveto
} forall
今、あなたは彼に面白いことを言うことができます($gs -- clown.ps "On a dark," "and stormy night..."
).