Impression de PDF dans .NET Framework
Le code suivant fonctionne également avec la bibliothèque Aspose.PDF.Drawing.
Imprimer un fichier PDF en C# - Imprimer un fichier PDF sur l’imprimante par défaut en utilisant les paramètres d’imprimante et de page
Cet article décrit comment imprimer un fichier PDF sur l’imprimante par défaut en utilisant les paramètres d’imprimante et de page en C#.
La classe PdfViewer vous permet d’imprimer un fichier PDF sur l’imprimante par défaut. Vous devez créer un objet PdfViewer et ouvrir le PDF en utilisant la méthode BindPdf. Pour spécifier différents paramètres d’impression, utilisez les classes PageSettings
et PrinterSettings
. Enfin, appelez la méthode PrintDocumentWithSettings pour imprimer le PDF sur l’imprimante par défaut. Le code suivant montre comment imprimer un PDF sur l’imprimante par défaut avec les paramètres d’imprimante et de page.
public static void SimplePrint()
{
// Créer un objet PdfViewer
PdfViewer viewer = new PdfViewer();
// Ouvrir le fichier PDF d'entrée
viewer.BindPdf(System.IO.Path.Combine(_dataDir, "input.pdf"));
// Définir les attributs pour l'impression
viewer.AutoResize = true; // Imprimer le fichier avec une taille ajustée
viewer.AutoRotate = true; // Imprimer le fichier avec une rotation ajustée
viewer.PrintPageDialog = false; // Ne pas produire de dialogue de numéro de page lors de l'impression
// Créer des objets pour les paramètres d'imprimante et de page et PrintDocument
System.Drawing.Printing.PrinterSettings ps = new System.Drawing.Printing.PrinterSettings();
System.Drawing.Printing.PageSettings pgs = new System.Drawing.Printing.PageSettings();
System.Drawing.Printing.PrintDocument prtdoc = new System.Drawing.Printing.PrintDocument();
// Définir le nom de l'imprimante
ps.PrinterName = prtdoc.PrinterSettings.PrinterName;
// Définir PageSize (si nécessaire)
pgs.PaperSize = new System.Drawing.Printing.PaperSize("A4", 827, 1169);
// Définir les marges de la page (si nécessaire)
pgs.Margins = new System.Drawing.Printing.Margins(0, 0, 0, 0);
// Imprimer le document en utilisant les paramètres d'imprimante et de page
viewer.PrintDocumentWithSettings(pgs, ps);
// Fermer le fichier PDF après l'impression
viewer.Close();
}
Pour afficher une boîte de dialogue d’impression, essayez d’utiliser le fragment de code suivant :
System.Windows.Forms.PrintDialog printDialog = new System.Windows.Forms.PrintDialog();
if (printDialog.ShowDialog() == System.Windows.Forms.DialogResult.OK)
{
// Le code d'impression du document va ici
// Imprimer le document en utilisant les paramètres d'imprimante et de page
viewer.PrintDocumentWithSettings(pgs, ps);
}
Choosing paper source by PDF page size
Since the 24.4 release, choosing paper source by PDF page size in the print dialog is possible. The next code snippet enables picking a printer tray based on the PDF’s page size.
This preference can be switched on and off using the ‘Document.PickTrayByPdfSize’ property.
using (Document document = new Document())
{
Page page = document.Pages.Add();
page.Paragraphs.Add(new TextFragment("Hello world!"));
// Set the flag to choose a paper tray using the PDF page size
document.PickTrayByPdfSize = true;
document.Save("result.pdf");
}