2012-05-12 18 views
9

私はpdfをsvgに変換するツールを作成しています。これらのpdfには、300 dpiの大きなビットマップやベクトルの束など、グラフィックデータが含まれています。 here on stackoverflowを覗いて、私はpdf2svgを見つけました。これは魅力的な作品です。ベクターデータは完璧です。しかし、ビットマップが72dpiに縮小されているように見えます。ディメンションはまだ8x10インチですが、ズームインするとdpiが正しくないことがわかります。Softは、デフォルト値が72 dpiと推定されますが、フル解像度のビットマップイメージが必要です。300dpiビットマップのpdfをsvgに変換

pdf2svgはポップラーとカイロを使用して変換を行います。私はコード内を突き刺して、ポップラーページとカイロサーフェスを作成する場所を確認しています。documentationには、ポップラーページに関連性があると思われる「スケール」という概念がありますが、私は(実験的に)cairo_svg_surface_createに渡された高さと幅をハードコーディングしてみましたが、埋め込みビットマップに影響を与えずに、SVG全体に適用されるディメンションを大きくしました。私は私が何をしようとしているとは思わない

poppler_page_get_size (page, &width, &height); 

// Open the SVG file 
surface = cairo_svg_surface_create(svgFilename, width, height); 
drawcontext = cairo_create(surface); 

// Render the PDF file into the SVG file 
poppler_page_render(page, drawcontext); 
cairo_show_page(drawcontext); 

は非常に難解であるので、私はすぐに私のエラーが表示されますライブラリと経験を持って誰かを願っています。もちろん、どんな助けでも非常に高く評価されます。

+1

グレート質問と

poppler_page_render(page, drawcontext); 

を交換し、私はあなたが良い答えを得る願っています。 – jimw

答えて

0

cairo_surface_set_fallback_resolution()はおそらく役に立ちますか?

関連する問題