Como imprimir um documento do Word em C#

Neste tutorial passo a passo, vamos elaborar como imprimir documento do Word em C# sem interoperabilidade e sem automação. Usaremos o aplicativo Windows Forms para imprimir o Word DOCX em C# usando uma caixa de diálogo de impressora.

Etapas para imprimir documento do Word em C# sem interoperabilidade

  1. Instale o pacote Aspose.Words for .NET do NuGet.org
  2. Adicionar referência aos namespaces Aspose.Words e Aspose.Words.Rendering
  3. Definir licença do Aspose.Words para .NET usando o método SetLicense
  4. Crie um novo objeto Document e carregue o documento DOCX
  5. Crie um novo objeto PrintDialog e defina as propriedades da caixa de diálogo da impressora
  6. Crie o objeto PrintPreviewDialog e defina o objeto AsposeWordsPrintDocument e outras propriedades
  7. Anexar evento para ativar a caixa de diálogo da impressora
  8. Por fim, mostre a caixa de diálogo da impressora ao usuário

Nas etapas acima, estamos carregando o documento do Word no objeto Document, definindo as propriedades da caixa de diálogo da impressora e passando o documento para a instância da caixa de diálogo da impressora criada. Essas etapas ajudam a imprimir o documento do Word em C# usando uma caixa de diálogo de impressora do Windows. Adicionaremos um tópico de instruções separado, para mostrar como imprimir um documento do Word sem uma caixa de diálogo de impressora.

Código para imprimir documento do Word em C# sem automação

using System;
using System.Windows.Forms;
//Add reference to Aspose.Words for .NET API
//Use following namespaces to print word document on a printer
using Aspose.Words;
using Aspose.Words.Rendering;
namespace PrintWordDocumentWithoutInterop
{
public partial class PrintWordDocumentWithoutInterop : Form
{
public PrintWordDocumentWithoutInterop()
{
InitializeComponent();
//Set license before printing word document to printer
Aspose.Words.License AsposeWordsLicense = new Aspose.Words.License();
AsposeWordsLicense.SetLicense(@"c:\asposelicense\license.lic");
}
private void PrintWordDocumentButton_Click(object sender, EventArgs e)
{
//load the Microsoft Word document to print in Windows application
Document WordDocumentToPrint = new Document("WordDocumentToPrint.docx");
//create Windows Forms print dialog
PrintDialog WindowsPrintDialog = new PrintDialog();
//Set properties of the Windows Print Dialog
WindowsPrintDialog.PrinterSettings.MinimumPage = 1;
WindowsPrintDialog.PrinterSettings.MaximumPage = WordDocumentToPrint.PageCount;
WindowsPrintDialog.PrinterSettings.FromPage = 1;
WindowsPrintDialog.PrinterSettings.ToPage = WordDocumentToPrint.PageCount;
WindowsPrintDialog.AllowSomePages = true;
//Do not proceed if user didn't accept printer settings
if (WindowsPrintDialog.ShowDialog() != DialogResult.OK)
return;
//Create PrintDocument boject and pass printer settings
AsposeWordsPrintDocument PrintDocument = new AsposeWordsPrintDocument(WordDocumentToPrint);
PrintDocument.PrinterSettings = WindowsPrintDialog.PrinterSettings;
//Create print preview dialog object and pass on Word document
PrintPreviewDialog WindowsPrintPreviewDialog = new PrintPreviewDialog();
WindowsPrintPreviewDialog.Document = PrintDocument;
//Set print preview dialog settings
WindowsPrintPreviewDialog.Document.DocumentName = WordDocumentToPrint.OriginalFileName;
WindowsPrintPreviewDialog.PrintPreviewControl.Zoom = 1;
WindowsPrintPreviewDialog.WindowState = FormWindowState.Maximized;
WindowsPrintPreviewDialog.MinimizeBox = true;
WindowsPrintPreviewDialog.ShowInTaskbar = true;
//Attach even to activate print dialog and bring it to front.
WindowsPrintPreviewDialog.Shown += WindowsPrintPreviewDialog_Shown;
//Display the print preview dialog so user can print
WindowsPrintPreviewDialog.ShowDialog();
}
private static void WindowsPrintPreviewDialog_Shown(object sender, EventArgs e)
{
//activate print view dialog for printing by bringging to the front
((PrintPreviewDialog)sender).Activate();
}
}
}

O código acima em C# print Word document sem abrir o próprio arquivo DOCX ou DOC. Ele define as propriedades da caixa de diálogo de impressão junto com a passagem do próprio documento e, em seguida, permite que o usuário imprima o documento.

 Português