私は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);
は非常に難解であるので、私はすぐに私のエラーが表示されますライブラリと経験を持って誰かを願っています。もちろん、どんな助けでも非常に高く評価されます。
グレート質問と
を交換し、私はあなたが良い答えを得る願っています。 – jimw