Prawnが既存のPDFファイルを生成中のPDFに埋め込むことができれば素晴らしいと思います。 私の特定のケースでは、これは、エビが生成したPDF内に図面、ロゴ、その他の種類のベクター画像を埋め込むのに役立ちます。
現在、Prawnの#image
は、JPEGとPNGの2つのラスター形式のみで、あらゆる種類のベクター画像をサポートしていません。 LaTeXランドでは、ベクター画像に使用される一般的な形式はEPSとPDFです(これらはpdftex
includegraphics
によってネイティブにサポートされています)。 SVGは、他の設定(Webページなど)でも非常に一般的です。
PDFをサポートするのが、エビのベクター画像をサポートする最も簡単な方法だと私には思えます。 EPSとSVGをサポートするには、これらの形式のデコーダーまたはトランスコーダーを作成する必要があります。
IIUC、Prawnは、問題#91の@practicingrubyで提案されているように、PDFの埋め込みに使用できる_templates_をサポートするために使用されていました。 これはもう当てはまらないようです。
古い(2012)バージョンのPrawnに対する@yobによる概念実証コードは、 https://github.com/yob/prawn/commits/pdf_imagesにあります。
@gioele PDFを画像形式として使用するには、PrawnにはないPDFパーサーが必要です。 ただし、Prawnは、PDFをページのテンプレートとして使用するためにpdf-reader
およびprawn-templates
の宝石を使用できます。 たぶん、この機能は画像サポートに再利用できますか? @bvogelはこれについてもっと知っているかもしれません。
@gioeleは引き続きprawn-templates
を介してPDFテンプレートを使用できますが、ページごとに1つのテンプレートに制限されているため、テンプレートの上に描画する場合は、テンプレートサイズを必要なページサイズに合わせることが推奨されます。 。 このコードは基本的に、バックグラウンドにあるpdf-reader
を使用して追加のコンテンツストリームを作成します。 このアプローチの全体的な影響は、PDF仕様についての私の理解レベルを上回っています。
ベクターグラフィックを埋め込むためのエビ-svg宝石があります。
最も参考になるコメント
ベクターグラフィックを埋め込むためのエビ-svg宝石があります。