我試圖用ABCpdf將HTML頁面導出爲PDF。文本轉換成OK,但圖表非常模糊。我試過增加字體大小,它幫助很少。什麼可能是解決方案?帶有abcpdf的模糊圖表
編輯:我使用的是asp.net圖表,如果有幫助。
我試圖用ABCpdf將HTML頁面導出爲PDF。文本轉換成OK,但圖表非常模糊。我試過增加字體大小,它幫助很少。什麼可能是解決方案?帶有abcpdf的模糊圖表
編輯:我使用的是asp.net圖表,如果有幫助。
您需要輸出更高DPI的圖表。不知道你是否可以用abcpdf做到這一點。
我假設你的聊天是圖像?如果是這樣,模糊的原因是HTML圖像上的DPI是72 DPI,並且呈現的pdf的DPI是300 DPI。
我知道的唯一方法就是讓HTML中的圖像具有更高的分辨率(300 DPI),然後在頁面上以設置的高度和寬度縮小尺寸。當ABCPdf導入圖像時,它將下載源代碼並且看起來更好。
其他答案在正確的軌道上,但不是那裏。
瀏覽器「通常」以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);
這似乎沒有多大幫助,我已經嘗試過了。 – Iceman