如何在Aspose.Words中设置字体嵌入选项?
时间: 2024-10-11 19:16:37 浏览: 128
在Aspose.Words中,设置字体嵌入选项涉及到文档的格式化操作,特别是当你要确保转换后的PDF文档能够正确显示源文档中的所有字体时。以下是一个简单的示例,展示如何在代码中进行设置:
```csharp
using Aspose.Words;
using System.IO;
// 加载文档
Document doc = new Document("input.docx");
// 获取文档的节(Section)或者段落(Paragraph),这里假设只有一个节
Section section = doc.FirstSection;
foreach (Paragraph paragraph in section.Paragraphs)
{
// 获取字体集合
FontCollection fonts = paragraph.Fonts;
// 遍历字体
foreach (Font font in fonts)
{
if (!font.IsEmbedded)
{
// 设置字体为嵌入,这会确保在PDF中包含该字体
font.EmbeddingMode = EmbeddingMode.UseSubset;
}
}
}
// 将文档保存为PDF
SaveOptions saveOptions = new SaveOptions(SaveFormat.Pdf);
saveOptions.FontEmbeddingSettings = new FontEmbeddingSettings(EmbeddingMode.UseSubset); // 全局嵌入模式
doc.Save("output.pdf", saveOptions);
```
在这个例子中,`EmbeddingMode.UseSubset`表示只保留字体的必要部分以便在目标设备上渲染,如果是`EmbeddingMode.Normal`则会尽可能完整地嵌入字体。
阅读全文