添加js后,iTextSharp不保留PDF样式

时间:2013-09-27 10:34:11

标签: c# javascript asp.net itextsharp

我在使用不同系统之前创建了一组PDF文件。 这些都是正确的样式,(使用Arial字体,粗体和普通) - PDF包含瑞典字符,当我打印它时一切正常。 但是,我一直致力于解决方案,不向用户显示pdf文件本身,只需启动打印对话框即可。我已经使用iTextSharp来包含JS代码,一旦启动就会自动打印PDF。

将JS添加到提供的文件并将其发送给用户的方法:

protected void StreamPdf(string pdfSource)
    {
        var outputStream = new MemoryStream();
        var pdfReader = new PdfReader(pdfSource);
        var pdfStamper = new PdfStamper(pdfReader, outputStream);
        //Add the auto-print javascript
        var writer = pdfStamper.Writer;
        writer.AddJavaScript(GetAutoPrintJs());
        pdfStamper.Close();
        var content = outputStream.ToArray();
        outputStream.Close();
        Response.ContentType = "application/pdf";
        Response.BinaryWrite(content);
        Response.End();
        outputStream.Close();
        outputStream.Dispose();
    }

现在的事情是 - 在使用响应写回文件之后,我正在丢失格式 - 现在之前为粗体的文本是正常的,并且区域字符丢失(显示空方块)。

是否有可能保留格式?

0 个答案:

没有答案