Imprimindo PDF em uma Impressora XPS
Contents
[
Hide
]
O seguinte trecho de código também funciona com a biblioteca Aspose.PDF.Drawing.
Imprimir PDF em impressora XPS em C#
Você pode imprimir um arquivo PDF em uma impressora XPS, ou em outra impressora soft, usando a classe PdfViewer. Para fazer isso, crie um objeto da classe PdfViewer e abra o arquivo PDF usando o método BindPdf. Você pode configurar diferentes ajustes de impressão usando as classes PrinterSettings e PageSettings. Você também precisa definir a propriedade PrinterName para a impressora XPS ou outra impressora soft que você tenha instalado.
Finalmente, use o método PrintDocumentWithSettings para imprimir o PDF na impressora XPS ou outra impressora soft. O seguinte trecho de código mostra como imprimir o arquivo PDF em uma impressora XPS.
public static void PrintToXpsPrinter()
{
// Criar objeto PdfViewer
PdfViewer viewer = new PdfViewer();
// Abrir arquivo PDF de entrada
viewer.BindPdf(_dataDir + "input.pdf");
// Definir atributos para impressão
viewer.AutoResize = true; // Imprimir o arquivo com tamanho ajustado
viewer.AutoRotate = true; // Imprimir o arquivo com rotação ajustada
viewer.PrintPageDialog = false; // Não mostrar o diálogo de número de página ao imprimir
// Criar objetos para configurações de impressora e página e PrintDocument
System.Drawing.Printing.PrinterSettings ps = new System.Drawing.Printing.PrinterSettings();
System.Drawing.Printing.PageSettings pgs = new System.Drawing.Printing.PageSettings();
// Definir nome da impressora XPS/PDF
ps.PrinterName = "Microsoft XPS Document Writer";
// Ou definir a impressora PDF
// Ps.PrinterName = "Adobe PDF";
// Definir tamanho da página (se necessário)
pgs.PaperSize = new System.Drawing.Printing.PaperSize("A4", 827, 1169);
// Definir margens da página (se necessário)
pgs.Margins = new System.Drawing.Printing.Margins(0, 0, 0, 0);
// Imprimir documento usando configurações de impressora e página
viewer.PrintDocumentWithSettings(pgs, ps);
// Fechar o arquivo PDF após a impressão
viewer.Close();
}