web-dev-qa-db-ja.com

印刷用のグラフィックファイルとPDFファイルをレイアウトする方法

私は出荷ラベルの作成を自動化するプロジェクトに取り組んでいます(正確には Avery 8127 )。 USPS/UPS/FedEx配送ラベルのPNGを取得しましたが、梱包票はPDFまたはWebページのスクリーンショットの間で異なる可能性があります。

私の最初の(ほぼ成功した)解決策は、ImageMagickを使用してUSPSラベルを操作し、梱包票をPNGに変換し、ImageMagickを使用してそれらを一緒に追加して、両方の画像が正しく配置された単一のグラフィックファイルを作成することでした。

ただし、これは理想的ではありません。グラフィックを必要な場所にレイアウトし、その下にテキストを挿入する新しいドキュメント(PDF、PS、画像など)を生成できるようにしたいと思います。必要に応じて、フォントサイズを変更したり、テキストを追加/削除したりできるようにしたいと思います。

この種のことにはどのようなツールが利用できますか?グラフィックファイルとテキストを含むファイルに基づいて、新しいドキュメントをプログラムで作成してレイアウトするにはどうすればよいですか?

(CUPSプリンターフィルターでこれを行うことはできますか?)

私は現在macOSに取り組んでいますが、後でFreeBSDサーバーに簡単に移動できるようにポータブルなものを探しています。

1
Allan

プログラムでとはどういう意味かわからないので、ここにいくつかのアイデアがあります。

最近では、すべての出力がそれ自体が言語であるPostScriptを対象としているため、その中でリクエストを記述できますが、少し難しいです。 (PDFはほとんどPostScriptに変換可能です)。ただし、変換ツールの制限を克服するために、生成されるPostScript出力を微調整できることがよくあります。

もう一方の極端な例として、プレーンテキストを取得してPostScriptに変換するenscriptのようなコマンドがあります。 CやPerlなどのコードの印刷と強調表示を支援することを目的としていますが、プレーンテキスト内にコマンドを埋め込んでフォントなどを変更したり、PostScriptや画像をEPS形式で含めたりすることができます。

markdown言語の中には、フォントを変更したり画像を含めたりできる reStructuredText があります。 rst2pdfそれをpdfに変換します。

LinuxとFreeBSDで最も古い組版言語は、troffであり、GNUからgroffに拡張されています。これは、紙のどこにでもテキストを配置できるようにすることを目的としています。基本的なコマンドは習得するのが少し難しいかもしれませんが、mmのようないくつかのmacroパッケージがあります。かなり簡単にドキュメントを作成できます。

実際のプログラミングに関しては、Perl、C、Java、pythonは、おそらくすべて、ある程度pdfを生成できるようにするための何らかのライブラリを備えています。

2
meuh