U ovom vodiču korak po korak razradit ćemo kako ispisati Word dokument u C# bez međudjelovanja i automatizacije. Koristit ćemo aplikaciju Windows Forms za ispis Worda DOCX u C# pomoću dijaloškog okvira pisača.
Koraci za ispis Word dokumenta u C# bez međudjelovanja
- Instalirajte paket Aspose.Words for .NET s NuGet.org
- Dodajte referencu na prostore imena Aspose.Words i Aspose.Words.Rendering
- Postavite licencu za Aspose.Words za .NET pomoću metode SetLicense
- Napravite novi objekt Document i učitajte DOCX dokument
- Stvorite novi PrintDialog objekt i postavite dijaloška svojstva pisača
- Napravite PrintPreviewDialog objekt i postavite AsposeWordsPrintDocument objekt i druga svojstva
- Priložite događaj za aktiviranje dijaloškog okvira pisača
- Na kraju, pokažite dijaloški okvir pisača korisniku
U gornjim koracima učitavamo Word dokument u objekt dokumenta, postavljamo svojstva dijaloškog okvira pisača i zatim prosljeđujemo dokument kreiranoj instanci dijaloškog okvira pisača. Ovi koraci pomažu ispisati Word dokument u C# pomoću dijaloškog okvira pisača u sustavu Windows. Dodat ćemo zasebnu temu kako da pokažemo kako ispisati Word dokument bez dijaloškog okvira pisača.
Kod za ispis Word dokumenta u C# bez automatizacije
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(); | |
} | |
} | |
} |
Gornji kod u C# print Word document bez otvaranja same DOCX ili DOC datoteke. Postavlja svojstva dijaloškog okvira za ispis zajedno s prosljeđivanjem samog dokumenta, a zatim omogućuje korisniku da ispiše dokument.