Aspose.Words转换为PDF的时候字体丢失的问题解决

摘要:
如果系统中有字体,Word中的显示也正常。也就是说,转换为PDF后,字体不正常,并且丢失了。经过大量研究,它们被等值线字体所取代。最后,原因是WindowsFonts下的一些文件只是虚拟路径。真正的字体文件位于C:用户用户名AppDataLocalMicrosoftWindowsFonts目录下。因此,添加用户的字体目录可能会导致问题,代码如下//获取用户字体目录字符串

系统中明明有字体的,Word中显示也正常,就是转换为PDF以后不正常,字体丢失,被替换成了等线字体

好一番研究,终于找到原因

,原因是WindowsFonts下的文件,有些只是虚拟的路径,真正的字体文件是在C:Users用户名AppDataLocalMicrosoftWindowsFonts 这个目录下,从而导致的这个问题

只要将用户的字体目录添加进去就可以了,代码如下

//取用户字体目录
            string userfontsfoloder = Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData)+ "\Microsoft\Windows\Fonts\";
            Console.WriteLine("userfontsfoloder:" + userfontsfoloder);
            string outFilePdf = Path.GetDirectoryName(txtpicDir.Text) + "\" + Path.GetFileNameWithoutExtension(txtpicDir.Text) + ".pdf";
            Aspose.Words.Document document = new Aspose.Words.Document(txtpicDir.Text);
            ArrayList fontSources = new ArrayList(FontSettings.DefaultInstance.GetFontsSources());
            //将用户目录字体添加到字体源中
            Aspose.Words.Fonts.FolderFontSource folderFontSource = new Aspose.Words.Fonts.FolderFontSource(userfontsfoloder, true);
            fontSources.Add(folderFontSource);
            Aspose.Words.Fonts.FontSourceBase[] updatedFontSources = (Aspose.Words.Fonts.FontSourceBase[])fontSources.ToArray(typeof(Aspose.Words.Fonts.FontSourceBase));
            FontSettings.DefaultInstance.SetFontsSources(updatedFontSources);

  

免责声明:文章转载自《Aspose.Words转换为PDF的时候字体丢失的问题解决》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇sti指令导致奇怪问题【java】Java组件概览(2)— 基本库下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

Aspose.words 书签定位

1. 简介 Aspose.words 可以在不使用 Microsoft.Word 的情况下生成、修改、转换、打印文档。不依赖office组件,这一点给我们提供了极大的便利性,可以简单的引入 DLL(Dynamic Link Library,动态链接库文件) ,就可以操作 word 文档。不过也有一点小小的麻烦就是需要许可证 Aspose.Words.lic...

delphi PDF控件介绍

PDF控件介绍 llPDFLib 概述 llPDFLib 是用于创建 PDF 文档的纯 Object Pascal 库。 该库不使用任何 DLL 或外部第三方软件来生成 PDF 文件。 库包括具有属性和方法的 TPDFDocument 组件,如 Delphi 的 TPrinter,但旨在生成 PDF 文件。 特征 真正的 Canvas.Handle (H...

Eclipse各种书籍资料整理包括书籍介绍和下载

史上最全的Eclipse各种书籍资料整理包括书籍介绍和下载,下面是我近期整理的一些Eclipse的教程和学习文档,包括文档的介绍和下载地址,其中Eclipse插件开发和精选的30款Eclipse插件,大家可以看看,下一步准备整理关于MyEclipse的相关资料,大家有什么好的资料可以留下我把他整理出来共享给大家吧,希望大家多多支持。。。 • Eclipse...

使用JavaScript开发Acrobat应用程序01

参考:Developing Acrobat Application Using JavaScript 本章介绍Acrobat脚本模型中的JavaScript和它的对象体系,以及与JavaScript简单结合的Acrobat PDF 概述Acrobat中的JavaScript是对JavaScript核心(ISO-16262标准的1.5版本)的一个扩展,正式名...

Linux下分割、合并PDF(pdftk),用于Linux系统的6款最佳PDF页面裁剪工具

 Linux下分割、合并PDF(pdftk),用于Linux系统的6款最佳PDF页面裁剪工具 Linux下分割、合并PDF(pdftk) pdftk http://www.pdflabs.com/docs/install-pdftk/ 合并 pdftk 1.pdf 2.pdf 3.pdf cat output 123.pdf pd...

使用TCPDF插件生成pdf以及pdf的中文处理

目录(?)[+] 多种多样的pdf开发库 WKHTMLTOPDF 2FPDF 3TCPDF 中文问题 做了这么多年项目,以前只是在别人的项目中了解过PHP生成pdf文件,知道并不难,但是涉及到了pdf开发库,首先介绍pdf库。 多种多样的pdf开发库1.WKHTMLTOPDF wkhtmltopdf是一个很好的解决方案,基本上可以原样输出html...