我在使用不同系统之前创建了一组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();
}
现在的事情是 - 在使用响应写回文件之后,我正在丢失格式 - 现在之前为粗体的文本是正常的,并且区域字符丢失(显示空方块)。
是否有可能保留格式?