3

我正在尝试使用 ABCpdf 将 HTML 页面导出为 PDF。文本转换正常,但图表非常模糊。我试过增加字体大小,但它帮助很小。有什么解决办法?

编辑:如果有帮助,我正在使用 asp.net 图表。

4

3 回答 3

1

您需要以更高的 DPI 输出图表。不确定您是否可以使用 abcpdf 执行此操作。

于 2012-11-05T12:23:13.127 回答
1

我假设您的聊天是图像?如果是这样,模糊的原因是 HTML 图像上的 DPI 是 72 DPI,而渲染的 pdf 的 DPI 是 300 DPI。

我知道的唯一方法是让 HTML 中的图像具有更高的分辨率(300 DPI),然后在页面上通过设定的高度和宽度减小尺寸。当 ABCPdf 导入图像时,它将下载源代码并看起来更好。

于 2012-11-15T12:26:49.893 回答
1

其他答案在正确的轨道上,但并不完全在那里。

浏览器“通常”以 96 DPI 显示内容。这取决于设置,但我们可以在这里假设。PDF 将缩放到 72 DPI。因此,您需要将 Rect 设置为浏览器宽度的 3/4。然后您的图像将看起来正确。

作为副作用,您最终可能需要更高分辨率的图像才能获得所需的尺寸(您可以通过相反的方式增加图像的分辨率,即增加 4/3 倍以实现与您想要的相同在浏览器中查看)。

使用下面的代码,您的图像将永远不会模糊(尽管您可能需要调整预期的文档宽度;宽度为 612pt @ 72 DPI(例如,字母大小的纵向)的 PDF 需要由浏览器宽度支持816px @ 96 DPI):

const Double pdfDpi = 72;
const Double browserDpi = 96;
var browserToPdfDpiRatio = BrowserDpi / PdfDpi;

pdf.HtmlOptions.BrowserWidth = (Int32)Math.Round(pdf.Rect.Width * browserToPdfDpiRatio, 0);
于 2016-11-04T20:51:15.773 回答