2011-07-01 6 views
7

誰でもC#でPDFを作成し、このPDFの中にSVGドキュメントを追加する方法を知っていますか?.NETにプログラムでSVGを埋め込むC#

itextsharpできません。

私はこのライブラリ(http://svg.codeplex.com/)のおかげでイメージにSVGを変換しますが、イメージがピクセル化されているため、ベクトルグラフィックを維持する必要があります。

誰でもライブラリを知っていますか?

おかげで、

+0

itextsharpで可能です。 'MyImageStream = new MemoryStream(); myChart.SaveImage(MyImageStream); ' 私のチャートはsvgチャートオブジェクトになります – Armance

+1

私はこれを行う方法を変更しました。私はemfのsvgを変換し、docxを生成します。しかし、このソリューションでは、画像を拡大するとピクセル化されません。ピクセル化していない場合は、それを解決策として提案してください。しかし、私はもはやテストすることはできません。私はすべてのコードを変更しました。 – Dragouf

答えて

3

PrinceXMLはSVGを扱うのは非常に良い仕事をしていません、しかし、それは無料版には、出力PDFの上に小さなロゴを置くことを意味し、完全に無料ではありません。詳細はこちらをご覧ください:http://www.princexml.com/doc/7.0/svg/

PDFJetでは、線、円、ポリゴン、その他の基本描画ツールを作成できます。 SVGを解析し、適切な円、円弧、線などを描画するクラスを作成し、PDFを作成するためにPDFJetを使用することができます。 PDFJetはここからダウンロードできます:http://pdfjet.com/os/edition.html

その他、あなたが探しているものには他にも多くのオプションがあるとは思われません。

+0

第2の解決策は非常に複雑です。最初のものは素晴らしいですが、私はロゴを受け入れることができません。 – Dragouf

+0

@Dragouf - 実際には、ここにSVGライブラリがあります:[C#のSVGフレームワークとSVG-GDI +ブリッジ](http://www.codeproject.com/KB/cs/svgnet.aspx)このライブラリを使用できますSVGを解析した後、PDFJetやiTextSharpを使ってポリ、ライン、アークプリミティブを描画します。 – Icemanind

+0

それは長いコーディングのようで、私は十分な時間がありません。しかし、私はよく分かっていれば、pdfがsvg xobjectを埋め込むことができるようです。私の瞬間、私はinkscapeのコマンドラインでsvgを変換し、pdfとitextsharpをマージします。しかし、結果のオブジェクトをページ上に正しく配置することはできません。:s – Dragouf

2

PDFKit.NET3は、ベクターを保存しながらSVG文書をPDFに挿入できます。

+1

ニースですが高価です。 – Dragouf

1

webSupergoo ABCpdfも商業的に適しています(ABCpdf Stdは329ドル、ABCpdf Proはレンダリングまたはx64サポートが必要な場合は479ドル)。バージョン7は、SVGファイルを扱う際には大変な仕事でしたが(小さなサブセットをロードするだけでよく問題はあります)、バージョン8(そして現在は9)がSVGサポートを大幅に改善したことを理解していますGecko engineに切り替える。

+0

残念ながら、Azureはひどいサポートを受けています...彼らのウェブサイトには、仮想マシンを設定する必要があります。私はAzure Web Appに 'ABCpdf'を使ってソリューションを移行しようとしていますが、現在このライブラリは唯一の障害物です... – Azimuth

関連する問題