Aspose.Words轉Pdf-使用字型

我使用.net平台的Aspose.Words元件(版本 15.8.1)將Word檔案轉換為pdf,Word內容包含高棉文
(原始內容.docx (12.5 KB))

若直接使用Document.Save轉換的話會結果如下
結果1.jpg (25.3 KB)

若於Save前使用「Aspose.Words.Fonts.FontSettings.SetFontsFolder()」設定支援高棉文的字型(Khmer OS Battambang.ttf)後結果如下
結果2.jpg (35.6 KB)
雖文字可正常顯示,但內容卻有錯誤,且在文字內容與排版較複雜時會有跑版問題

@Tengen,

请将以下字体文件压缩成ZIP格式并附在此处供我们参考:

  • Khmer OS Content

另外,请使用 MS Word 和 Aspose.Words 将您的 Word 文档转换为 PDF 格式,并在此处附上 PDF 文件以供我们参考。

恐怕,我不是高棉语专家,因此请在此处创建并附上“详细比较屏幕截图”以供参考,其中突出显示了 Aspose.Words 生成的输出中的问题区域。 另外,请详细说明您在使用 Aspose.Words 渲染高棉语字符时到底看到了什么问题?

謝謝您的回覆。 :smile:

提供您字型(Khmer OS Battambang.ttf)
Khmer OS Battambang.zip (72.0 KB)

提供程式碼:
未設定使用字型:

Doc = new Document("原始內容.docx");
Doc.Save("OutputResult_A.pdf", Aspose.Words.SaveFormat.Pdf);

結果:OutputResult_A.pdf (12.6 KB)

設定使用字型
"C:\Fonts"資料夾內包含Khmer OS Battambang.ttf

Aspose.Words.Fonts.FontSettings.SetFontsFolder(@“C:\Fonts”, false);
Doc = new Document(“原始內容.docx”);
Doc.Save(“OutputResult_B.pdf”, Aspose.Words.SaveFormat.Pdf);

結果:OutputResult_B.pdf (7.6 KB)

OutputResult_B.pdf 與 原始內容.docx 差異
Diff.jpg (17.0 KB)

另外,我嘗試使用MS Office Word 另存新檔 轉為pdf,pdf結果與原文無差異:
OutputResult_MSWord.pdf (29.7 KB)

非常感謝您的協助

@Tengen,

首先,请在您的机器上“安装”以下字体。

  • Khmer OS Content
  • Khmer UI
  • Arial

然后启用 Aspose.Words for .NET 的“开放类型”功能。 请查看以下文章:

以下 C# 代码在我的一端生成正确的输出:

Document doc = new Document("C:\\Temp\\231465\\word.docx");
doc.LayoutOptions.TextShaperFactory = HarfBuzzTextShaperFactory.Instance;
doc.Save("C:\\temp\\231465\\HarfBuzzTextShaperFactory applied.pdf");

我还使用上述最新 (21.6) 版本的 Aspose.Words for .NET API 代码将您的源 Word 文档转换为 PDF 格式,并附在此处供您参考:

謝謝您的回覆,問題已解決 :smile:

1 Like