Come stampare un documento di Word in C#

In questo tutorial passo dopo passo, elaboreremo come stampare un documento Word in C# senza interoperabilità e senza automazione. Utilizzeremo l’applicazione Windows Forms per stampare Word DOCX in C# utilizzando una finestra di dialogo della stampante.

Passaggi per stampare il documento di Word in C# senza interoperabilità

  1. Installa il pacchetto Aspose.Words for .NET da NuGet.org
  2. Aggiungi riferimento agli spazi dei nomi Aspose.Words e Aspose.Words.Rendering
  3. Imposta la licenza di Aspose.Words per .NET usando il metodo SetLicense
  4. Crea un nuovo oggetto Document e carica il documento DOCX
  5. Crea un nuovo oggetto PrintDialog e imposta le proprietà della finestra di dialogo della stampante
  6. Crea l’oggetto PrintPreviewDialog e imposta l’oggetto AsposeWordsPrintDocument e altre proprietà
  7. Allega evento per attivare la finestra di dialogo della stampante
  8. Infine, mostra all’utente la finestra di dialogo della stampante

Nei passaggi precedenti, stiamo caricando il documento Word nell’oggetto Document, impostando le proprietà della finestra di dialogo della stampante e quindi passando il documento all’istanza della finestra di dialogo della stampante creata. Questi passaggi aiutano a stampare il documento di Word in C# utilizzando una finestra di dialogo della stampante di Windows. Aggiungeremo un argomento di istruzioni separato, per mostrare come stampare un documento di Word senza una finestra di dialogo della stampante.

Codice per stampare documenti Word in C# senza automazione

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();
}
}
}

Il codice precedente in C# print Word document senza aprire il file DOCX o DOC stesso. Imposta le proprietà della finestra di dialogo di stampa insieme al passaggio del documento stesso e quindi consente all’utente di stampare il documento.

 Italiano