翻譯|行業資訊|編輯:胡濤|2024-07-09 11:10:57.550|閱讀 78 次
概述:雖然有用于創建 DOCX 文件的庫(例如 Open XML SDK),但打印又是另一回事。打印 DOCX 文件的唯一方法是在 Microsoft Word 中打開它并手動打印。對于需要打印大量文檔的 Web 應用程序或需要自動打印文檔的服務器端應用程序來說,這不是一個好的解決方案。
# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
雖然有用于創建 DOCX 文件的庫(例如 Open XML SDK),但打印又是另一回事。打印 DOCX 文件的唯一方法是在 Microsoft Word 中打開它并手動打印。對于需要打印大量文檔的 Web 應用程序或需要自動打印文檔的服務器端應用程序來說,這不是一個好的解決方案。
TX Text Control 是一款功能類似于 MS Word 的文字處理控件,包括文檔創建、編輯、打印、郵件合并、格式轉換、拆分合并、導入導出、批量生成等功能。廣泛應用于企業文檔管理,網站內容發布,電子病歷中病案模板創建、病歷書寫、修改歷史、連續打印、病案歸檔等功能的實現。
TX Text Control 不僅提供了以編程方式創建 DOCX 文件的功能,還提供了無需使用 MS Word 或 Microsoft Office Interop 即可打印這些文件的功能。本文介紹了使用 TX Text Control 打印 DOCX 文件的不同方法:
為了本演示的目的,創建了一個.NET 8 控制臺應用程序。
在 Visual Studio 中,使用 .NET 8創建一個新的控制臺應用程序。
在解決方案資源管理器中,選擇您創建的項目,然后從項目主菜單中選擇管理 NuGet 包...。
從包源下拉菜單中選擇文本控制離線包。
安裝以下軟件包的最新版本:
TX Text Control 提供了一種Print 方法,可用于將當前文檔打印到默認打印機。以下代碼顯示如何在控制臺應用程序中將文檔打印到默認打印機。
using System.Drawing.Printing; using (TXTextControl.ServerTextControl tx = new TXTextControl.ServerTextControl()) { tx.Create(); tx.Load("test.docx", TXTextControl.StreamType.WordprocessingML); PrintDocument printDocument = new PrintDocument(); printDocument.PrinterSettings.PrinterName = "Microsoft Print to PDF"; tx.Print(printDocument);
TX Text Control 不僅允許您加載和打印 DOCX 文件,還允許您加載和打印二進制 MS Word 格式 DOC 和 RTF 文件。
您還可以通過將打印機名稱傳遞給 PrinterSettings對象來打印到特定打印機。在這種情況下,打印機名稱是Microsoft Print to PDF,輸出是 PDF 文件。
using System.Drawing.Printing; using (TXTextControl.ServerTextControl tx = new TXTextControl.ServerTextControl()) { tx.Create(); tx.Load("test.docx", TXTextControl.StreamType.WordprocessingML); PrintDocument printDocument = new PrintDocument(); printDocument.PrinterSettings.PrinterName = "Microsoft Print to PDF"; printDocument.PrinterSettings.PrintToFile = true; printDocument.PrinterSettings.PrintFileName = "test.pdf"; tx.Print(printDocument); }
TX Text Control 提供了Save 方法,可用于將當前文檔保存為 PDF 文件。以下代碼顯示如何在控制臺應用程序中將文檔保存為 PDF 文件。
using (TXTextControl.ServerTextControl tx = new TXTextControl.ServerTextControl()) { tx.Create(); tx.Load("test.docx", TXTextControl.StreamType.WordprocessingML); tx.Save("test.pdf", TXTextControl.StreamType.AdobePDF); }
此代碼使用ServerTextControl直接生成二進制 PDF 文檔,無需使用打印機驅動程序。PDF 文件存儲在文件系統中。Save方法可用于將文檔保存為各種格式,包括 DOCX、DOC、RTF 和 PDF。
TX Text Control 還可用于從文檔頁面創建 SVG 圖像。SVG 的優勢在于它是所有瀏覽器都支持的標準,而且由于它是一種矢量圖形格式,因此文本內容的質量不會受到任何損失。
Get Image方法有一個實現, 它將頁面作為 SVG 格式的 Base64 編碼字符串返回。
string svgSources = tx.GetPages()[1].GetImage(TXTextControl.Page.PageContent.All, 300);
第一個參數PageContent定義該方法要返回的內容。第二個參數定義嵌入位圖圖像的分辨率。
以下方法從文檔的所有頁面創建 SVG 圖像并將其保存到文件系統。
public string[] CreateSVG(ServerTextControl TextControl, bool GlyphOutlines = false, int FromPage = 1, int ToPage = -1) { // create array for SVGs string[] svgPages = new string[(ToPage == -1 ? TextControl.Pages : ToPage)]; // set page content TXTextControl.Page.PageContent pageContent = GlyphOutlines ? TXTextControl.Page.PageContent.All | TXTextControl.Page.PageContent.GlyphOutlines : TXTextControl.Page.PageContent.All; for (int i = FromPage; i <= (ToPage == -1 ? TextControl.Pages : ToPage); i++) { // get SVG from page svgPages[i - 1] = TextControl.GetPages()[i].GetImage(pageContent, 96); } return svgPages; }
TX Text Control 還可用于從文檔頁面創建圖像(例如 JPG 或 PNG)。以下代碼顯示了如何在控制臺應用程序中從文檔頁面創建圖像。
using System.Collections; using System.Drawing.Imaging; using System.Drawing; using TXTextControl; using (TXTextControl.ServerTextControl tx = new TXTextControl.ServerTextControl()) { tx.Create(); tx.Load("test.docx", TXTextControl.StreamType.WordprocessingML); ArrayList inputImages = new ArrayList(); foreach (Page page in tx.GetPages()) { MemoryStream image = new MemoryStream(); Bitmap mf = page.GetImage(100, TXTextControl.Page.PageContent.All); mf.Save(image, ImageFormat.Png); inputImages.Add(image); } // save images as files int i = 0; foreach (MemoryStream ms in inputImages) { FileStream file = new FileStream("image" + i.ToString() + ".png", FileMode.Create, FileAccess.Write); ms.WriteTo(file); file.Close(); i++; } }
GetImage方法有一個實現,它返回Bitmap存儲在對象數組中的頁面對象Bitmap。第二部分展示了如何將這些圖像保存到文件系統。
TX Text Control 提供了以編程方式創建 DOCX 文件的功能,以及無需使用 MS Word 或 Microsoft Office Interop 即可打印這些文件的功能。本文介紹了使用 TX Text Control 打印 DOCX 文件的各種方法。
歡迎下載|體驗更多TX Text Control產品
本站文章除注明轉載外,均為本站原創或翻譯。歡迎任何形式的轉載,但請務必注明出處、不得修改原文相關鏈接,如果存在內容上的異議請郵件反饋至chenjj@fc6vip.cn