翻譯|產品更新|編輯:龔雪|2025-09-02 11:16:58.500|閱讀 30 次
概述:DevExpress Office File API控件日前正式發布了v25.1,新版本擁有全新的Presentation API庫、升級PDF Document API等,歡迎下載最新版體驗!
# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
相關鏈接:
DevExpress Office File API是一個專為C#, VB.NET 和 ASP.NET等開發人員提供的非可視化.NET庫。有了這個庫,不用安裝Microsoft Office,就可以完全自動處理Excel、Word等文檔。開發人員使用一個非常易于操作的API就可以生成XLS, XLSx, DOC, DOCx, RTF, CSV 和 Snap Report等企業級文件。
DevExpress Office File API控件日前正式發布了v25.1,新版本擁有全新的Presentation API庫、升級PDF Document API等,歡迎下載最新版體驗!
DevExpress技術交流群11:749942875 歡迎一起進群討論
DevExpress v25.1版本中新的PowerPoint Presentation API庫現在可用(v25.1.4+),Presentation API庫允許您在任何基于.NET的應用程序中創建、讀取、編輯、轉換、合并、拆分和打印Microsoft PowerPoint文件。
注意:DevExpress Presentation API庫目前作為社區技術預覽版(CTP)提供。
DevExpress Presentation API 庫支持以下平臺和操作系統:
PowerPoint Presentation API庫包含在DevExpress Office File API和DevExpress Universal授權訂閱中,在工作代碼中使用此庫需要有效的許可證。
PowerPoint Presentation API庫允許您使用PPTX文件格式導入和保存演示文件(當然您也可以將文件打印/導出為PDF),它附帶了以下內置功能:
要開始使用DevExpress Presentation API,請從Nuget.org或local\personal DevExpress NuGet feed安裝DevExpress.Docs.Presentation NuGet package (v25.1.4+),添加 `DevExpress.Docs. Presentation` 命名空間到項目文件中,并創建一個“Presentation”實例。
下面的代碼片段加載演示文稿并將其導出為PDF文件:
C#
using DevExpress.Docs.Presentation; //... // Load a presentation Presentation presentation = new Presentation(File.ReadAllBytes("mypresentation.pptx")); // Export to PDF presentation.ExportToPdf(new FileStream(@"D:\exported-document.pdf", FileMode.Create));
保存時保留壓縮對象流
在以前的版本中,PDF處理引擎僅在讀取文檔時支持壓縮對象流,保存時DevExpress PDF Document API庫以未壓縮的形式編寫PDF對象流。
為了使用DevExpress PDF Document API庫保存PDF文檔時減小文件大小,v25.1附帶了一個新的壓縮引擎,旨在保留PDF對象流的原始/壓縮狀態。DevExpress的壓縮機制自動適用于各種文檔結構(文本、PDF表單、字體等),并允許您更有效地修改/保存PDF文件。
壓縮對象流只保留使用LoadDocument方法導入的文檔,如果您將頁面從一個文檔復制到另一個文檔或將多個文檔合并為一個文檔,則附加頁面/文檔的對象流將被解壓縮。
圖像壓縮API
DevExpress v25.1包含用于壓縮文檔圖像大小的API,這包括新的方法和類(指定所需的壓縮設置)。使用,您可以設置目標JPEG質量(以百分比為單位),指定downsampling DPI (DownsamplingResolution屬性),并為文檔圖像選擇插值模式。
在保存文檔之前調用方法來優化/減小輸出PDF文件的大小,這個新選項還可以幫助提高包含圖像的PDF文檔的打印性能。
C#
using (PdfDocumentProcessor pdfProcessor = new PdfDocumentProcessor()) { pdfProcessor.LoadDocument("Example.pdf"); var options = new PdfImageCompressionOptions() { JpegQuality = 40, DownsamplingResolution = 100, InterpolationMode = DevExpress.Drawing.DXInterpolationMode.HighQualityBicubic, }; pdfProcessor.OptimizeDocument(options); pdfProcessor.SaveDocument("Example_Compressed.pdf"); }
注意:圖像壓縮效率取決于源文檔中的圖像數量、原始大小和PDF頁面上的物理大小。
DevExpress v25.1包括用于創建和管理編校注釋的新API,使用此功能您可以隱藏/刪除文檔中的敏感或私有內容,并在編輯區域中添加彩色文本覆蓋。
編校過程包括兩個步驟:
創建編校注釋
使用PDF Facade API可以進行編校。要創建編校注釋,您必須:
C#
PdfDocumentProcessor pdfProcessor = new PdfDocumentProcessor(); pdfProcessor.LoadDocument("Demo.pdf"); PdfDocumentFacade documentFacade = pdfProcessor.DocumentFacade; PdfRectangle pageCropBox = pdfProcessor.Document.Pages[0].CropBox; PdfRectangle redactBounds = new PdfRectangle(0, pageCropBox.Height-50, 200, pageCropBox.Height); // Add a redaction annotation at the top left corner of the first document page PdfRedactAnnotationFacade redactAnnotation = documentFacade.Pages[0].AddRedactAnnotation(redactBounds); redactAnnotation.Author = "Jane Doe"; // Setup the appearance of the redaction annotation redactAnnotation.FillColor = new PdfRGBColor(0, 0, 0); redactAnnotation.FontColor = new PdfRGBColor(1, 1, 1); redactAnnotation.FontName = "Calibri"; redactAnnotation.FontSize = 0; // enables font auto-size redactAnnotation.OverlayText = "Classified"; redactAnnotation.TextJustification = PdfTextJustification.Centered; redactAnnotation.RepeatText = false; // Save the document with the redaction annotation and send it for review pdfProcessor.SaveDocument("output_to_review.pdf");
應用編校注解
新的API允許您應用以下注解:
您還可以使用來指定要刪除的內容類型(文本、圖形、圖像或注釋)。
C#
PdfDocumentProcessor pdfProcessor = new PdfDocumentProcessor(); pdfProcessor.LoadDocument("Demo.pdf"); PdfDocumentFacade documentFacade = pdfProcessor.DocumentFacade; // Review redaction annotations and apply foreach (var page in documentFacade.Pages) { var redactionAnnotations = page.Annotations.Where(annotation => annotation is PdfRedactAnnotationFacade).ToList(); foreach(PdfRedactAnnotationFacade annotation in redactionAnnotations) { if (annotation.Author == "Jane Doe") annotation.Apply(); } } // Apply redaction annotations for a page documentFacade.Pages[0].ApplyRedactAnnotations(); // Apply redaction annotations for the entire document documentFacade.ApplyRedactAnnotations(); // Specify clear content settings and apply redaction annotations documentFacade.ApplyRedactAnnotations(new PdfClearContentOptions() { ClearAnnotations = true, ClearImages = true, ClearText = true, ClearGraphics = false });
慧都是?家?業數字化解決?案公司,專注于軟件、?油與?業領域,以深?的業務理解和?業經驗,幫助企業實現智能化轉型與持續競爭優勢。
慧都是DevExpress的中國區的合作伙伴,DevExpress作為用戶界面領域的優秀產品,幫助企業高效構建權限管理、數據可視化(如網格/圖表/儀表板)、跨平臺系統(WinForms/ASP.NET/.NET MAUI)及行業定制解決方案,加速開發并強化交互體驗。
本站文章除注明轉載外,均為本站原創或翻譯。歡迎任何形式的轉載,但請務必注明出處、不得修改原文相關鏈接,如果存在內容上的異議請郵件反饋至chenjj@fc6vip.cn
文章轉載自:慧都網