gpt4 book ai didi

将带有 300dpi 位图的 pdf 转换为 svg

转载 作者:太空狗 更新时间:2023-10-29 16:56:30 25 4
gpt4 key购买 nike

我正在创建一个将 pdf 转换为 svg 的工具。这些 pdf 包含图形数据,包括 300 dpi 的大型位图和一堆 vector 。闲逛here on stackoverflow , 我找到了 pdf2svg ,这太棒了——就像一个魅力, vector 数据是完美的。但看起来位图正在缩小到 72dpi。尺寸仍然是 8x10 英寸,但是当您放大时您可以看出 dpi 不正确。默认值假定为 72 dpi 是有道理的,但我需要全分辨率位图图像。

pdf2svg 使用 poppler 和 cairo 进行转换。我查看了代码,我看到它在哪里创建了一个 poppler 页面和一个 cairo 表面,我在 documentation 中看到了poppler 页面有一个似乎相关的“比例”概念,但我不知道在哪里插入它。我尝试(实验性地)将传递到 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);

我不认为我正在尝试做的事情很深奥,所以我希望有图书馆经验的人会立即看到我的错误。当然,我们将不胜感激任何帮助。

最佳答案

我刚刚按照 http://lists.freedesktop.org/archives/poppler/2011-December/008451.html 中的说明更改了源代码它运行完美 - 图像似乎处于原始分辨率。

替换

poppler_page_render(page, drawcontext);

poppler_page_render_for_printing(page, drawcontext);

关于将带有 300dpi 位图的 pdf 转换为 svg,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10560260/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com