Tengen
1
我使用.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格式并附在此处供我们参考:
另外,请使用 MS Word 和 Aspose.Words 将您的 Word 文档转换为 PDF 格式,并在此处附上 PDF 文件以供我们参考。
恐怕,我不是高棉语专家,因此请在此处创建并附上“详细比较屏幕截图”以供参考,其中突出显示了 Aspose.Words 生成的输出中的问题区域。 另外,请详细说明您在使用 Aspose.Words 渲染高棉语字符时到底看到了什么问题?
Tengen
3
謝謝您的回覆。
提供您字型(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 格式,并附在此处供您参考: