別のシステムを使用する前に作成された一連の PDF ファイルがあります。それらは正しくスタイル設定されています (Arial フォント、太字、標準を使用) - PDF にはスウェーデン語の文字が含まれており、印刷するとすべてが機能します。ただし、pdfファイル自体をユーザーに表示せず、印刷ダイアログを開始するだけの解決策に取り組んでいます。iTextSharp を使用して、開始すると PDF を自動的に印刷する JS コードを含めました。
指定されたファイルに 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();
}
問題は、応答を使用してファイルを書き戻した後、書式設定が失われていることです。以前は太字だったテキストは正常であり、地域の文字は失われます (代わりに空の四角が表示されます)。
フォーマットを保持する可能性はありますか?