Dalam tutorial langkah demi langkah ini, kami akan menjelaskan cara mencetak dokumen Word di C# tanpa interop dan tanpa otomatisasi. Kami akan menggunakan aplikasi Windows Forms untuk mencetak Word DOCX dalam C# menggunakan dialog printer.
Langkah-langkah Mencetak Dokumen Word di C# Tanpa Interop
- Instal paket Aspose.Words for .NET dari NuGet.org
- Tambahkan referensi ke Aspose.Words dan Aspose.Words.Rendering namespaces
- Setel lisensi Aspose.Words untuk .NET menggunakan metode SetLicense
- Buat objek Document baru dan muat dokumen DOCX
- Buat objek PrintDialog baru dan atur properti dialog printer
- Buat objek PrintPreviewDialog dan atur objek AsposeWordsPrintDocument dan properti lainnya
- Lampirkan acara untuk mengaktifkan dialog printer
- Terakhir, tampilkan dialog printer kepada pengguna
Pada langkah-langkah di atas, kita memuat dokumen Word ke objek Dokumen, mengatur properti dari dialog printer dan kemudian meneruskan dokumen ke instance dialog printer yang dibuat. Langkah-langkah ini membantu mencetak dokumen Word dalam C# menggunakan dialog printer windows. Kami akan menambahkan topik petunjuk terpisah, untuk menunjukkan cara mencetak dokumen Word tanpa dialog printer.
Kode untuk Mencetak Dokumen Word di C# Tanpa Otomatisasi
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(); | |
} | |
} | |
} |
Kode di atas dalam C# print Word document tanpa membuka file DOCX atau DOC itu sendiri. Ini mengatur properti dialog cetak bersama dengan melewatkan dokumen itu sendiri dan kemudian membiarkan pengguna mencetak dokumen.