1

我在使用不同的系统之前创建了一组 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();
    }

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

有没有可能保留格式?

4

0 回答 0