Comment imprimer des fichiers PDF C

This article was translated from English: Does it need improvement?
Translated
View the article in English

par Chaknith Bin

L'envoi d'un PDF à une imprimante à partir d'un code .NET C# automatise le processus d'impression, ce qui vous permet d'intégrer une fonctionnalité d'impression dans vos applications, de réduire les efforts manuels et d'assurer la cohérence de la production de fichiers PDF. Il permet un contrôle précis du processus d'impression.

IronPDF offre la possibilité d'imprimer rapidement par programme sur une imprimante physique en un seul appel de méthode, ce qui vous permet d'imprimer plusieurs fichiers PDF. La résolution de l'imprimante peut également être spécifiée avec des DPI horizontaux et verticaux configurables. Utilisez la méthode qui accepte à la fois Microsoft PrinterSettings et PrintController pour mieux contrôler le processus d'impression PDF.


Commencez avec IronPDF

Commencez à utiliser IronPDF dans votre projet dès aujourd'hui avec un essai gratuit.

Première étape :
green arrow pointer


Exemple d'impression d'un fichier PDF

La méthode Print est accessible à partir de l'objet PdfDocument. Cette méthode permet d'imprimer aussi bien des fichiers PDF nouvellement rendus que des fichiers existants. La méthode Print permet d'imprimer un PDF en utilisant l'imprimante par défaut de la machine. Cependant, vous pouvez imprimer sur une imprimante spécifique en fournissant le nom de l'imprimante sous forme de chaîne à la méthode Print.

A noter
Toutes les fonctions d'impression ne sont prises en charge que sous "Windows".

:path=/static-assets/pdf/content-code-examples/how-to/print-pdf-print.cs
using IronPdf;

ChromePdfRenderer renderer = new ChromePdfRenderer();

PdfDocument pdf = renderer.RenderHtmlAsPdf("<h1>Test printing</h1>");

// Send the document to "Microsoft Print to PDF" printer
pdf.Print("Microsoft Print to PDF");
Imports IronPdf

Private renderer As New ChromePdfRenderer()

Private pdf As PdfDocument = renderer.RenderHtmlAsPdf("<h1>Test printing</h1>")

' Send the document to "Microsoft Print to PDF" printer
pdf.Print("Microsoft Print to PDF")
VB   C#
File d'attente d'impression

Résolution de l'imprimante

Spécifiez la résolution du fichier PDF imprimé en passant la valeur DPI souhaitée dans la méthode Print. Cela permet de définir un DPI égal pour la verticale et l'horizontale. Dans le cas où des valeurs DPI différentes sont souhaitées pour la verticale et l'horizontale, vous pouvez spécifier deux paramètres, où le premier nombre sera pour l'horizontale(x)et la seconde pour la verticale(y).

:path=/static-assets/pdf/content-code-examples/how-to/print-pdf-dpi.cs
using IronPdf;

ChromePdfRenderer renderer = new ChromePdfRenderer();

PdfDocument pdf = renderer.RenderHtmlAsPdf("<h1>Test printing</h1>");

// Set custom DPI
pdf.Print(300);

// Specify printing resolution
pdf.Print(10, 10, "Microsoft Print to PDF");
Imports IronPdf

Private renderer As New ChromePdfRenderer()

Private pdf As PdfDocument = renderer.RenderHtmlAsPdf("<h1>Test printing</h1>")

' Set custom DPI
pdf.Print(300)

' Specify printing resolution
pdf.Print(10, 10, "Microsoft Print to PDF")
VB   C#

Dans l'exemple suivant, nous verrons comment rastériser et imprimer un fichier PDF.


Imprimer dans un fichier

La méthode PrintToFile est un moyen rapide de rastériser les documents PDF, en les convertissant en images bitmap(basé sur les pixels) avant de les enregistrer sous forme de fichier PDF. Ce tramage est effectué par l'imprimante intégrée de Windows ; dans mon cas, il s'agit de la méthode "Microsoft Print to PDF" Cette méthode ne fait qu'imprimer le fichier PDF sur le disque et ne l'envoie pas à une imprimante physique.

:path=/static-assets/pdf/content-code-examples/how-to/print-pdf-print-to-file.cs
using IronPdf;

ChromePdfRenderer renderer = new ChromePdfRenderer();

PdfDocument pdf = renderer.RenderHtmlAsPdf("<h1>Test printing</h1>");

// Print to file
pdf.PrintToFile("");
Imports IronPdf

Private renderer As New ChromePdfRenderer()

Private pdf As PdfDocument = renderer.RenderHtmlAsPdf("<h1>Test printing</h1>")

' Print to file
pdf.PrintToFile("")
VB   C#

Explorer les paramètres d'impression d'un document PDF

Pour configurer davantage les options d'impression, utilisez la méthode GetPrintDocument, qui accepte à la fois Microsoft PrinterSettings et PrintController. La méthode GetPrintDocument renvoie l'objet document d'impression courant. Les options de PrinterSettings sont décrites sous l'exemple de code, tandis que PrintController peut être utilisé pour personnaliser la manière dont l'impression est exécutée et fournit des options pour gérer les exceptions et les rapports de progression, tels que la boîte de dialogue d'impression, l'aperçu avant impression, le suivi des processus d'impression et d'autres tâches liées à l'impression.

:path=/static-assets/pdf/content-code-examples/how-to/print-pdf-printer-setting.cs
using IronPdf;
using System.Drawing.Printing;

ChromePdfRenderer renderer = new ChromePdfRenderer();

PdfDocument pdf = renderer.RenderHtmlAsPdf("<h1>Testing</h1>");

PrinterSettings settings = new PrinterSettings() {
    PrinterName = "Microsoft Print to PDF",

    // Number of Copy
    Copies = 2,

    // Page range to print
    FromPage = 2,
    ToPage = 4,
};

PrintDocument document = pdf.GetPrintDocument(settings);

// Print
document.Print();
Imports IronPdf
Imports System.Drawing.Printing

Private renderer As New ChromePdfRenderer()

Private pdf As PdfDocument = renderer.RenderHtmlAsPdf("<h1>Testing</h1>")

Private settings As New PrinterSettings() With {
	.PrinterName = "Microsoft Print to PDF",
	.Copies = 2,
	.FromPage = 2,
	.ToPage = 4
}

Private document As PrintDocument = pdf.GetPrintDocument(settings)

' Print
document.Print()
VB   C#
  • CanDuplex : Indique si l'imprimante prend en charge le recto-verso(double face) l'impression. Si c'est le cas, il est possible d'imprimer sur les deux faces du papier ; dans le cas contraire, il ne le peut pas.
  • Assembler : Indique si plusieurs fichiers PDF ou copies d'un document PDF doivent être assemblés(organisé dans l'ordre) à l'impression. Lorsque cette option est activée, l'imprimante assemble les copies ; s'il est faux, il ne l'est pas.
  • Copies : Définit le nombre de copies du document PDF à imprimer. Il détermine le nombre de copies identiques du document qui seront imprimées.
  • DefaultPageSettings : Représente les paramètres de page par défaut de l'imprimante, y compris la taille du papier, les marges et l'orientation.
  • Recto-verso : spécifie le mode recto-verso(double face) le mode d'impression à utiliser. Les options comprennent Duplex.Default, Duplex.Simplex(unilatéral)duplex.Horizontal, et Duplex.Vertical.
  • Imprimantes installées : Fournit une collection de noms d'imprimantes installées sur le système. Vous pouvez parcourir cette collection pour obtenir les noms des imprimantes disponibles.
  • IsDefaultPrinter : Indique si l'imprimante spécifiée dans PrinterName est définie comme imprimante par défaut sur le système.
  • IsPlotter : Détermine si l'imprimante est un traceur. Les imprimantes à traceur sont souvent utilisées pour l'impression de grands formats, comme les dessins d'architecture ou d'ingénierie.
  • IsValid : Indique si les paramètres de l'imprimante sont valides et peuvent être utilisés pour imprimer des fichiers PDF.
  • LandscapeAngle : Spécifie l'angle(rotation) de l'orientation paysage de l'imprimante, généralement 90 degrés pour le portrait.
  • MaximumCopies : Représente le nombre maximum de copies qui peut être spécifié pour l'impression du PDF.
  • MaximumPage : Spécifie le nombre de pages maximum qui peut être défini pour l'impression ou la conversion.
  • MinimumPage : Spécifie le nombre de pages minimum qui peut être défini pour l'impression ou la conversion.
  • PaperSizes : Fournit une collection de formats de papier pris en charge par l'imprimante. Vous pouvez interroger cette collection pour déterminer les formats de papier disponibles.
  • PaperSources : Offre une collection de sources de papier ou de bacs disponibles pour l'imprimante. Cela peut s'avérer utile lors de la sélection de la source de papier pour l'impression de fichiers PDF.
  • PrinterName : Spécifie le nom de l'imprimante à utiliser pour l'impression ou la conversion.
  • PrinterResolutions : Fournit une collection de résolutions d'imprimantes disponibles, vous permettant de choisir la qualité d'impression.
  • PrintFileName : Permet d'obtenir ou de définir le nom du fichier lors de l'impression vers un fichier à l'aide de PrintToFile.
  • PrintRange : Spécifie la plage de pages PDF à imprimer, par exemple toutes les pages, une plage spécifique ou une sélection. Permet d'imprimer des pages spécifiques.
  • DePage : Spécifie le numéro de la page de départ pour l'impression ou la conversion. L'impression commencera à partir de cette page.
  • ToPage : Spécifie le numéro de la page de fin pour l'impression ou la conversion. L'impression s'arrêtera après avoir atteint cette page.
  • PrintToFile : Indique s'il faut imprimer dans un fichier plutôt que sur une imprimante physique. Si elle est vraie, vous pouvez spécifier le chemin d'accès au fichier à l'aide de PrintFileName.
  • SupportsColor : Indique si l'imprimante prend en charge l'impression couleur. Si c'est le cas, l'impression en couleur est prise en charge ; sinon, il est limité au noir et blanc(monochrome) l'impression.

    Enfin, pour configurer l'imprimante par défaut afin qu'elle imprime des PDF, vous pouvez vous rendre dans la section "Imprimantes et scanners" des paramètres de la machine.

Chaknith related to Explorer les paramètres d'impression d'un document PDF

Chaknith Bin

Ingénieur logiciel

Chaknith est le Sherlock Holmes des développeurs. C'est en s'amusant à relever des défis de code qu'il s'est rendu compte pour la première fois qu'il pourrait avoir un avenir dans le domaine de l'ingénierie logicielle. Il se concentre sur IronXL et IronBarcode, mais il est fier d'aider les clients avec chaque produit. Chaknith tire parti des connaissances qu'il a acquises en discutant directement avec les clients pour améliorer les produits eux-mêmes. Ses commentaires anecdotiques vont au-delà des tickets Jira et soutiennent le développement de produits, la documentation et le marketing, afin d'améliorer l'expérience globale des clients.Quand il n'est pas au bureau, on peut le trouver en train d'apprendre sur l'apprentissage automatique, le codage et la randonnée.