EVO PDF PDF内容有小字体

时间:2016-09-07 03:04:13

标签: c# asp.net web-services pdf evopdf

我正在尝试使用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下载到用户计算机。

2 个答案:

答案 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)。