翻譯|行業(yè)資訊|編輯:胡濤|2024-07-09 11:10:57.550|閱讀 78 次
概述:雖然有用于創(chuàng)建 DOCX 文件的庫(kù)(例如 Open XML SDK),但打印又是另一回事。打印 DOCX 文件的唯一方法是在 Microsoft Word 中打開(kāi)它并手動(dòng)打印。對(duì)于需要打印大量文檔的 Web 應(yīng)用程序或需要自動(dòng)打印文檔的服務(wù)器端應(yīng)用程序來(lái)說(shuō),這不是一個(gè)好的解決方案。
# 界面/圖表報(bào)表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
雖然有用于創(chuàng)建 DOCX 文件的庫(kù)(例如 Open XML SDK),但打印又是另一回事。打印 DOCX 文件的唯一方法是在 Microsoft Word 中打開(kāi)它并手動(dòng)打印。對(duì)于需要打印大量文檔的 Web 應(yīng)用程序或需要自動(dòng)打印文檔的服務(wù)器端應(yīng)用程序來(lái)說(shuō),這不是一個(gè)好的解決方案。
TX Text Control 是一款功能類似于 MS Word 的文字處理控件,包括文檔創(chuàng)建、編輯、打印、郵件合并、格式轉(zhuǎn)換、拆分合并、導(dǎo)入導(dǎo)出、批量生成等功能。廣泛應(yīng)用于企業(yè)文檔管理,網(wǎng)站內(nèi)容發(fā)布,電子病歷中病案模板創(chuàng)建、病歷書(shū)寫(xiě)、修改歷史、連續(xù)打印、病案歸檔等功能的實(shí)現(xiàn)。
TX Text Control 不僅提供了以編程方式創(chuàng)建 DOCX 文件的功能,還提供了無(wú)需使用 MS Word 或 Microsoft Office Interop 即可打印這些文件的功能。本文介紹了使用 TX Text Control 打印 DOCX 文件的不同方法:
為了本演示的目的,創(chuàng)建了一個(gè).NET 8 控制臺(tái)應(yīng)用程序。
在 Visual Studio 中,使用 .NET 8創(chuàng)建一個(gè)新的控制臺(tái)應(yīng)用程序。
在解決方案資源管理器中,選擇您創(chuàng)建的項(xiàng)目,然后從項(xiàng)目主菜單中選擇管理 NuGet 包...。
從包源下拉菜單中選擇文本控制離線包。
安裝以下軟件包的最新版本:
TX Text Control 提供了一種Print 方法,可用于將當(dāng)前文檔打印到默認(rèn)打印機(jī)。以下代碼顯示如何在控制臺(tái)應(yīng)用程序中將文檔打印到默認(rèn)打印機(jī)。
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 文件,還允許您加載和打印二進(jìn)制 MS Word 格式 DOC 和 RTF 文件。
您還可以通過(guò)將打印機(jī)名稱傳遞給 PrinterSettings對(duì)象來(lái)打印到特定打印機(jī)。在這種情況下,打印機(jī)名稱是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 方法,可用于將當(dāng)前文檔保存為 PDF 文件。以下代碼顯示如何在控制臺(tái)應(yīng)用程序中將文檔保存為 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直接生成二進(jìn)制 PDF 文檔,無(wú)需使用打印機(jī)驅(qū)動(dòng)程序。PDF 文件存儲(chǔ)在文件系統(tǒng)中。Save方法可用于將文檔保存為各種格式,包括 DOCX、DOC、RTF 和 PDF。
TX Text Control 還可用于從文檔頁(yè)面創(chuàng)建 SVG 圖像。SVG 的優(yōu)勢(shì)在于它是所有瀏覽器都支持的標(biāo)準(zhǔn),而且由于它是一種矢量圖形格式,因此文本內(nèi)容的質(zhì)量不會(huì)受到任何損失。
Get Image方法有一個(gè)實(shí)現(xiàn), 它將頁(yè)面作為 SVG 格式的 Base64 編碼字符串返回。
string svgSources = tx.GetPages()[1].GetImage(TXTextControl.Page.PageContent.All, 300);
第一個(gè)參數(shù)PageContent定義該方法要返回的內(nèi)容。第二個(gè)參數(shù)定義嵌入位圖圖像的分辨率。
以下方法從文檔的所有頁(yè)面創(chuàng)建 SVG 圖像并將其保存到文件系統(tǒng)。
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 還可用于從文檔頁(yè)面創(chuàng)建圖像(例如 JPG 或 PNG)。以下代碼顯示了如何在控制臺(tái)應(yīng)用程序中從文檔頁(yè)面創(chuàng)建圖像。
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方法有一個(gè)實(shí)現(xiàn),它返回Bitmap存儲(chǔ)在對(duì)象數(shù)組中的頁(yè)面對(duì)象Bitmap。第二部分展示了如何將這些圖像保存到文件系統(tǒng)。
TX Text Control 提供了以編程方式創(chuàng)建 DOCX 文件的功能,以及無(wú)需使用 MS Word 或 Microsoft Office Interop 即可打印這些文件的功能。本文介紹了使用 TX Text Control 打印 DOCX 文件的各種方法。
歡迎下載|體驗(yàn)更多TX Text Control產(chǎn)品
本站文章除注明轉(zhuǎn)載外,均為本站原創(chuàng)或翻譯。歡迎任何形式的轉(zhuǎn)載,但請(qǐng)務(wù)必注明出處、不得修改原文相關(guān)鏈接,如果存在內(nèi)容上的異議請(qǐng)郵件反饋至chenjj@fc6vip.cn