我正在尝试使用ABCpdf将HTML页面导出为PDF。文本转换为OK但图表非常模糊。我已经尝试过增加字体大小,它帮助很少。可能是什么解决方案?
编辑:如果有帮助,我正在使用asp.net图表。答案 0 :(得分:1)
您需要以更高的DPI输出图表。不知道你是否可以用abcpdf做到这一点。
答案 1 :(得分:1)
我假设您的聊天记录是图片?如果是这样,模糊的原因是HTML图像上的DPI是72 DPI,渲染的pdf的DPI是300 DPI。
我知道的唯一方法是让HTML中的图像具有更高的分辨率(300 DPI),然后在页面上设置高度和宽度来缩小尺寸。当ABCPdf导入图像时,它将下载源并看起来更好。
答案 2 :(得分:1)
其他答案都在正确的轨道上,但并不完全存在。
浏览器"通常"显示96 DPI的东西。这取决于设置,但我们在这里假设是非常安全的。 PDF将扩展到72 DPI。因此,您需要将Rect设置为浏览器宽度的3/4。那么你的图像看起来是正确的。
作为一种副作用,您最终可能需要更高分辨率的图像才能获得所需的尺寸(您可以通过反转增加图像的分辨率,即通过4/3的系数来实现与你在浏览器中看到了。)
使用下面的代码,您的图像永远不会模糊(尽管您可能需要调整预期的文档宽度;宽度为612pt @ 7 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);