2017-09-05 1 views
0

J'ai un document d'impression appelé Report que je génère dans mon code (C#) et que je l'imprime dans mon application WPF.Comment convertir et enregistrer un document imprimé en format PDF

Maintenant, je voudrais enregistrer ce Report en format PDF pour une future impression ou tout autre usage.

J'ai lu à propos de PDFSharp et XPS, mais je ne suis pas certain qu'ils puissent vous aider, car mon document est imprimé directement et n'est pas enregistré en tant que XPS. Comment puis-je y parvenir?

Répondre

1

Jetez un coup d'œil à iText7. C'est une suite puissante pour générer, éditer et travailler avec des documents pdf.

Vous pouvez facilement générer des documents en utilisant iText. Je vais montrer un exemple dans Java, mais le code C# est exactement le même (à part le système IO).

File outputFile = new File("output.pdf"); 
PdfDocument pdfDocument = new PdfDocument(new PdfWriter(outputFile)); 
Document layoutDocument = new Document(pdfDocument); 

layoutDocument.add(new Paragraph("Lorem Ipsum Dolor Sit Amet")); 

layoutDocument.close(); 
pdfDocument.close(); 

Découvrez les autres tutoriels sur le site http://developers.itextpdf.com/examples-itext7

+0

En fait, je préférerais une solution, où je ne voudrais pas faire le pdf à nouveau, et l'ont généré en fonction de mon document d'impression lui-même. –

+0

La façon dont je le vois, il y a 2 options. Soit vous démarrez à partir de données quelque part (SQL, XML, texte brut, ...). Dans ce cas, vous pouvez simplement avoir une interface IReportGenerator qui génère une sorte de sortie basée sur les données (soit un pdf utilisant iText, ou un WPF). Ou vous travaillez uniquement avec des fichiers WPF, auquel cas tout logiciel que vous voulez utiliser doit être capable de comprendre votre format WPF. Et vous finirez par devoir écrire vous-même beaucoup de code-pont pour vous assurer que ces formats (PDF et WPF) peuvent "se parler". –

+0

Pas familier avec ceux-ci, pouvez-vous m'aider à démarrer? –