C#/VB.NET: imprimir documentos do Word

2023-07-31 07:21:06

A impressão de documentos do Word é uma habilidade fundamental que permite converter seu texto digital em cópias físicas. Se você precisa criar cópias impressas de relatórios, currículos, redações ou qualquer outro material escrito, entender como imprimir documentos do Word com eficiência pode economizar tempo e garantir resultados com aparência profissional. Neste artigo, você aprenderá como imprimir um documento do Word com as configurações de impressão especificadas em C# e VB.NET usando o Spire.Doc for .NET.

Instalar o Spire.Doc for .NET

Para começar, você precisa adicionar os arquivos DLL incluídos no pacote Spire.Doc for .NET como referências em seu projeto .NET. Os arquivos DLL podem ser baixados deste link ou instalados via NuGet.

PM> Install-Package Spire.Doc

Imprimir documentos do Word em C#, VB.NET

Com a ajuda da classe PrintDocument, os programadores podem enviar um documento do Word para uma impressora específica e especificar as configurações de impressão, como intervalo de páginas, número de cópias, impressão duplex e tamanho do papel. As etapas detalhadas para imprimir um documento do Word usando o Spire.Doc for NET são as seguintes.

  • Crie um objeto Documento.
  • Carregue um documento do Word usando o método Document.LoadFromFile().
  • Obtenha o objeto PrintDocument através da propriedade Document.PrintDocument.
  • Especifique o nome da impressora por meio da propriedade PrintDocument.PrinterSettings.PrinterName.
  • Especifique o intervalo de páginas a imprimir por meio da propriedade PrintDocument.PrinterSettings.PrinterName.
  • Defina o número de cópias a serem impressas por meio da propriedade PrintDocument.PrinterSettings.Copies.
  • Imprima o documento usando o método PrintDocument.Print().
  • C#
  • VB.NET
using Spire.Doc;
    using System.Drawing.Printing;
    
    namespace PrintWordDocument
    {
        class Program
        {
            static void Main(string[] args)
            {
                //Create a Document object
                Document doc = new Document();
    
                //Load a Word document
                doc.LoadFromFile(@"C:\Users\Administrator\Desktop\input.docx");
    
                //Get the PrintDocument object
                PrintDocument printDoc = doc.PrintDocument;
    
                //Specify the printer name
                printDoc.PrinterSettings.PrinterName = "NPI7FE2DF (HP Color LaserJet MFP M281fdw)";
    
                //Specify the range of pages to print
                printDoc.PrinterSettings.FromPage = 1;
                printDoc.PrinterSettings.ToPage = 10;
    
                //Set the number of copies to print
                printDoc.PrinterSettings.Copies = 1;
    
                //Print the document
                printDoc.Print();
            }
        }
    }

Imprimir silenciosamente documentos do Word em C#, VB.NET

A impressão silenciosa é um método de impressão que não mostra nenhum processo ou status de impressão. Para ativar a impressão silenciosa, defina o controlador de impressão como StandardPrintController. A seguir estão as etapas detalhadas.

  • Crie um objeto Documento.
  • Carregue um documento do Word usando o método Document.LoadFromFile().
  • Obtenha o objeto PrintDocument através da propriedade Document.PrintDocument.
  • Especifique o nome da impressora por meio da propriedade PrintDocument.PrinterSettings.PrinterName.
  • Defina o controlador de impressão como StandardPrintController por meio da propriedade PrintDocument.PrintController.
  • Imprima o documento usando o método PrintDocument.Print().
  • C#
  • VB.NET
using Spire.Doc;
    using System.Drawing.Printing;
    
    namespace SilentlyPrintWord
    {
        class Program
        {
            static void Main(string[] args)
            {
                //Create a Document object
                Document doc = new Document();
    
                //Load a Word document
                doc.LoadFromFile(@"C:\Users\Administrator\Desktop\input.docx");
    
                //Get the PrintDocument object
                PrintDocument printDoc = doc.PrintDocument;
    
                //Specify the printer name
                printDoc.PrinterSettings.PrinterName = "NPI7FE2DF (HP Color LaserJet MFP M281fdw)";
    
                //Specify the print controller to StandardPrintController
                printDoc.PrintController = new StandardPrintController();
    
                //Print the document
                printDoc.Print();
            }
        }
    }

Imprimir Word para PDF em C #, VB.NET

Além de imprimir documentos do Word com uma impressora física, você também pode imprimir documentos com impressoras virtuais, como Microsoft Print to PDF e Microsoft XPS Document Writer. A seguir estão as etapas para imprimir Word em PDF usando o Spire.Doc for .NET.

  • Crie um objeto Documento.
  • Carregue um documento do Word usando o método Document.LoadFromFile().
  • Obtenha o objeto PrintDocument através da propriedade Document.PrintDocument.
  • Especifique o nome da impressora como “Microsoft Print to PDF” por meio da propriedade PrintDocument.PrinterSettings.PrinterName.
  • Especifique o caminho e o nome do arquivo de saída por meio da propriedade PrintDocument.PrinterSettings.PrintFileName.
  • Imprima o documento usando o método PrintDocument.Print().
  • C#
  • VB.NET
using Spire.Doc;
    using System.Drawing.Printing;
    
    namespace PrintWordToPdf
    {
        class Program
        {
            static void Main(string[] args)
            {
                //Create a Document object
                Document doc = new Document();
    
                //Load a Word document
                doc.LoadFromFile(@"C:\Users\Administrator\Desktop\input.docx");
    
                //Get the PrintDocument object
                PrintDocument printDoc = doc.PrintDocument;
    
                //Print the document to file
                printDoc.PrinterSettings.PrintToFile = true;
    
                //Specify the printer name
                printDoc.PrinterSettings.PrinterName = "Microsoft Print to PDF";
    
                //Specify the output file path and name
                printDoc.PrinterSettings.PrintFileName = @"C:\Users\Administrator\Desktop\ToPDF.pdf";
    
                //Print the document
                printDoc.Print();
            }
        }
    }

Imprima o Word em um papel de tamanho personalizado em C#, VB.NET

A configuração do tamanho do papel é necessária quando você precisa garantir que a saída impressa atenda aos requisitos de tamanho específicos ou se adapte a uma finalidade específica. A seguir estão as etapas para imprimir o Word em um pager de tamanho personalizado usando o Spire.Doc for .NET.

  • Crie um objeto Documento.
  • Carregue um documento do Word usando o método Document.LoadFromFile().
  • Obtenha o objeto PrintDocument através da propriedade Document.PrintDocument.
  • Especifique o nome da impressora por meio da propriedade PrintDocument.PrinterSettings.PrinterName.
  • Especifique o tamanho do papel através da propriedade PrintDocument.DefaultPageSettings.PaperSize.
  • Imprima o documento usando o método PrintDocument.Print().
  • C#
  • VB.NET
using Spire.Doc;
    using System.Drawing.Printing;
    
    namespace PrintOnCustomSizedPaper
    {
        class Program
        {
            static void Main(string[] args)
            {
                //Create a Document object
                Document doc = new Document();
    
                //Load a Word document
                doc.LoadFromFile(@"C:\Users\Administrator\Desktop\input.docx");
    
                //Get the PrintDocument object
                PrintDocument printDoc = doc.PrintDocument;
    
                //Specify the printer name
                printDoc.PrinterSettings.PrinterName = "NPI7FE2DF(HP Color LaserJet MFP M281fdw)";
    
                //Specify the paper size
                printDoc.DefaultPageSettings.PaperSize = new PaperSize("custom", 500, 800);
    
                //Print the document
                printDoc.Print();
            }
        }
    }

Imprima várias páginas em uma folha em C #, VB.NET

Imprimir várias páginas em uma única folha de papel pode ajudar a economizar papel e criar manuais ou livretos compactos. As etapas para imprimir várias páginas em uma folha são as seguintes.

  • Crie um objeto Documento.
  • Carregue um documento do Word usando o método Document.LoadFromFile().
  • Obtenha o objeto PrintDocument através da propriedade Document.PrintDocument.
  • Especifique o nome da impressora por meio da propriedade PrintDocument.PrinterSettings.PrinterName.
  • Especifique o número de páginas a serem impressas em uma página e imprima o documento usando o método Doucment.PrintMultipageToOneSheet().

Observação: esse recurso NÃO se aplica ao .NET Framework 5.0 ou superior.

  • C#
  • VB.NET
using Spire.Doc;
    using Spire.Doc.Printing;
    using System.Drawing.Printing;
    
    namespace PrintMultiplePagesOnOneSheet
    {
        internal class Program
        {
            static void Main(string[] args)
            {
                //Instantiate an instance of the Document class
                Document doc = new Document();
    
                //Load a Word document
                doc.LoadFromFile(@"C:\\Users\\Administrator\\Desktop\\input.docx");
    
                //Get the PrintDocument object
                PrintDocument printDoc = doc.PrintDocument;
    
                //Enable single-sided printing
                printDoc.PrinterSettings.Duplex = Duplex.Simplex;
    
                //Specify the number of pages to be printed on one page and print the document
                doc.PrintMultipageToOneSheet(PagesPreSheet.TwoPages, false);
            }
        }
    }

Solicitar uma licença temporária

Se você deseja remover a mensagem de avaliação dos documentos gerados ou se livrar das limitações de função, por favor solicite uma licença de teste de 30 dias para você mesmo.

Veja também