Метод 1: Использование встроенного javascript внутри ваших файлов PDF Вы можете попробовать создать iText PDFAction объект с вызовом javascript this.print(false)
(для этого вы можете использовать new PdfAction(PdfAction.PRINTDIALOG)
)и связать его с событием OpenAction вашего pdf-файла.
Код в iText Java должен выглядеть следующим образом:
PdfWriter writer = PdfWriter.getInstance(document, new FileOutputStream("file.pdf"));
...
PdfAction action = new PdfAction(PdfAction.PRINTDIALOG);
writer.setOpenAction(action);
...
Он не должен быть слишком разнымв C #.
В качестве примечания, это также возможно с Amyuni PDF Creator .Net , если для атрибута "AutoPrint" установлено значение TRUE в классе документа ( применяется обычный отказ от ответственности).
acPDFCreatorLib.Initialize();
acPDFCreatorLib.SetLicenseKey("Amyuni Tech.", "07EFCDA00...BC4FB9CFD");
Amyuni.PDFCreator.IacDocument document = pdfCreator1.Document;
// Open a PDF document from file
System.IO.FileStream file1 = new System.IO.FileStream("test_input.pdf", FileMode.Open, FileAccess.Read, FileShare.Read);
IacDocument document = new IacDocument(null);
if (document.Open(file1, ""))
{
//Set AutoPrint
document.Attribute("AutoPrint").Value = true;
//Save the document
System.IO.FileStream file2 = new System.IO.FileStream("test_output.pdf", System.IO.FileMode.Create, System.IO.FileAccess.Write);
document.Save(file2, Amyuni.PDFCreator.IacFileSaveOption.acFileSaveView);
}
// Disposing the document before closing the stream clears out any data structures used by the Document object
document.Dispose();
file1.Close();
// terminate library to free resources
acPDFCreatorLib.Terminate();
Этот подход требует, чтобы файл PDF открывался в считывателе, который позаботится о печати, и у него есть недостаток, заключающийся в том, что, если файл сохраняется локально, каждый раз, когда файлпозже откроется диалоговое окно печати.
Метод 2: Использование javascript из браузера для связи с читателем, который показывает файл.
Я нашел этот другой подход в это ТАК вопрос, который стоит попробовать:
<html>
<script language="javascript">
timerID = setTimeout("exPDF.print();", 1000);
</script>
<body>
<object id="exPDF" type="application/pdf" data="111.pdf" width="100%" height="500"/>
</body>
</html>
Идея состоит в том, чтобы использовать javascript в браузере, чтобы дать команду читателю PDF распечатать файл.Этот подход будет работать с файлами PDF, встроенными в страницу HTML.