我正在尝试使用EVOHTMLTOPDF创建PDF文件。但是生成的pdf是错误的,内容的字体很小,甚至无法读取。
这是我在webservice中使用的当前代码
HtmlToPdfConverter htmlToPdfConverter = new HtmlToPdfConverter();
htmlToPdfConverter.LicenseKey = "4W9+bn19bn5ue2B+bn1/YH98YHd3d3c=";
htmlToPdfConverter.HtmlViewerWidth = int.Parse("1024");
htmlToPdfConverter.PdfDocumentOptions.PdfPageSize = EvoPdf.PdfPageSize.Letter;
htmlToPdfConverter.PdfDocumentOptions.PdfPageOrientation = EvoPdf.PdfPageOrientation.Portrait;
htmlToPdfConverter.PdfDocumentOptions.TopMargin = 15f;
htmlToPdfConverter.PdfDocumentOptions.RightMargin = 15f;
htmlToPdfConverter.PdfDocumentOptions.BottomMargin = 15f;
htmlToPdfConverter.PdfDocumentOptions.LeftMargin = 15f;
byte[] outPdfBuffer = null;
outPdfBuffer = htmlToPdfConverter.ConvertHtml(DocContent, baseUrl);
HttpContext.Current.Response.ContentType = "application/pdf";
HttpContext.Current.Response.AddHeader("content-disposition", "attachment; filename=" + filename);
HttpContext.Current.Response.Cache.SetCacheability(HttpCacheability.NoCache);
File.WriteAllBytes(sourcepath, outPdfBuffer);
我还附上了截图
有一段时间我收到这个错误,上面写着“PDF太大了”
请有人提供解决方案,因为我想创建一个pdf并将pdf下载到用户计算机。
答案 0 :(得分:0)
您是否可以尝试查看哪个是可以显示您转换的HTML网页内容的浏览器窗口的最小宽度?
如果内容宽度非常大,则会按比例缩小以适合PDF页面宽度。解决方案是修改HTML页面以允许在不同浏览器窗口宽度处重新进行内容重排。
您可以在HTML to PDF Scaling Options Demo找到可以测试各种缩放选项的实时演示。例如,您可以查看“剪辑HTML内容宽度”'如果HTML内容太宽,则截断HTML内容的选项。
关于" PDF太大",你什么时候收到此错误?当您创建PDF时,在查看器中打开PDF等时。这似乎不是库中的错误。
答案 1 :(得分:0)
要设置在html中设置的字体,我制定了一个公式:
htmlToPdfConverter.HtmlViewerWidth = 800 - (int)((htmlToPdfConverter.PdfDocumentOptions.RightMargin + htmlToPdfConverter.PdfDocumentOptions.LeftMargin) * 1.33);
之后,Evo转换器中pdf中的字体大小正确,并且等于使用MS Word创建的pdf文档中的字体大小(导出为pdf)。