Prawn: 埋め込まれたPDFのサポート(例:ベクター画像)

作成日 2017年04月03日  ·  3コメント  ·  ソース: prawnpdf/prawn

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にあります。

最も参考になるコメント

ベクターグラフィックを埋め込むためのエビ-svg宝石があります。

全てのコメント3件

@gioele PDFを画像形式として使用するには、PrawnにはないPDFパーサーが必要です。 ただし、Prawnは、PDFをページのテンプレートとして使用するためにpdf-readerおよびprawn-templatesの宝石を使用できます。 たぶん、この機能は画像サポートに再利用できますか? @bvogelはこれについてもっと知っているかもしれません。

@gioeleは引き続きprawn-templatesを介してPDFテンプレートを使用できますが、ページごとに1つのテンプレートに制限されているため、テンプレートの上に描画する場合は、テンプレートサイズを必要なページサイズに合わせることが推奨されます。 。 このコードは基本的に、バックグラウンドにあるpdf-readerを使用して追加のコンテンツストリームを作成します。 このアプローチの全体的な影響は、PDF仕様についての私の理解レベルを上回っています。

ベクターグラフィックを埋め込むためのエビ-svg宝石があります。

このページは役に立ちましたか?
0 / 5 - 0 評価