PDF管理控件Aspose.PDF for .Net使用教程(十九):從PDF中獲取所有字體以及使用FontSubsetStrategy改善字體嵌入
Aspose.PDF for .NET是一種高PDF處理和解析API,用于在跨平臺應(yīng)用程序中執(zhí)行文檔管理和操作任務(wù)。API可以輕松用于生成、修改、轉(zhuǎn)換、渲染、保護和打印PDF文檔,而無需使用Adobe Acrobat。此外,API還提供PDF壓縮選項,表格創(chuàng)建和操作,圖形和圖像功能,廣泛的超鏈接功能,印章和水印任務(wù),擴展的安全控制和自定義字體處理。
在接下來的系列教程中,將為開發(fā)者帶來Aspose.PDF for .NET的一系列使用教程,例如進行文檔間的轉(zhuǎn)換,如何標(biāo)記PDF文件,如何使用表單和圖表等等。
>>Aspose.PDF for .NET更新至最新版v19.10,歡迎下載體驗。
購買Aspose文檔系列產(chǎn)品領(lǐng)取優(yōu)惠券專享折上折,滿額更有豪禮相送!更多活動詳情可咨詢在線客服哦~
第七章:設(shè)置PDF文檔格式
▲第五節(jié):從PDF文檔獲取所有字體
如果要從PDF文檔中獲取所有字體,可以使用Document類中提供的FontUtilities.GetAllFonts()方法。請檢查以下代碼片段,以從現(xiàn)有的PDF文檔中獲取所有字體:
//文檔目錄的路徑。 string dataDir = RunExamples.GetDataDir_AsposePdf_WorkingDocuments(); Document doc = new Document(dataDir + "input.pdf"); Aspose.Pdf.Text.Font[] fonts = doc.FontUtilities.GetAllFonts(); foreach (Aspose.Pdf.Text.Font font in fonts) { Console.WriteLine(font.FontName); }
▲第六節(jié):使用FontSubsetStrategy改善字體嵌入
可以通過使用IsSubset 屬性來實現(xiàn)將字體嵌入為子集的功能 ,但是有時您希望將完全嵌入的字體集減少為僅用于文檔中的子集。Aspose.Pdf.Document具有屬性FontUtilities,其中包括方法SubsetFonts(FontSubsetStrategysubsetStrategy)。在方法SubsetFonts()中,參數(shù)subsetStrategy可幫助調(diào)整子集策略。FontSubsetStrategy支持以下兩種字體子設(shè)置變體。
- SubsetAllFonts-這將對文檔中使用的所有字體進行子集化。
- SubsetEmbeddedFontsOnly-這將僅將完全嵌入文檔中的那些字體作為子集。
以下代碼段顯示了如何設(shè)置FontSubsetStrategy:
//文檔目錄的路徑。 string dataDir = RunExamples.GetDataDir_AsposePdf_WorkingDocuments(); Document doc = new Document(dataDir + "input.pdf"); // 如果使用SubsetAllFonts,則所有字體都將作為子集嵌入到文檔中。 doc.FontUtilities.SubsetFonts(FontSubsetStrategy.SubsetAllFonts); // 字體子集將嵌入完全嵌入的字體,但是未嵌入文檔中的字體將不受影響。 doc.FontUtilities.SubsetFonts(FontSubsetStrategy.SubsetEmbeddedFontsOnly); doc.Save(dataDir + "Output_out.pdf");
還想要更多嗎?您可以點擊閱讀【2019 · Aspose最新資源整合】,查找需要的教程資源。如果您有任何疑問或需求,請隨時加入Aspose技術(shù)交流群(642018183),我們很高興為您提供查詢和咨詢。
如果您對Aspose有任何需求和疑難,記得掃描下方二維碼告訴我們哦~