一、关于引用
在.netcore中使用ASPOSE.WORDS来进行文档编辑、导出等都需要引入aspose.words.dll版本18以及以上版本,网上下载的大部分资源基本都可以使用,不过在细节方面很多童鞋就卡壳了。
关于笔者用的是docker里面netcore3.1,引用aspose.words.dll版本18.7破解版,测试可用,
资源链接在这里,需要的可进行下载使用
。不过直接引用资源后,测试一下简单代码是否可用
Aspose.Words.Document doc = new Aspose.Words.Document();
Aspose.Words.DocumentBuilder builder = new Aspose.Words.DocumentBuilder(doc);
builder.Writeln("简单测试下是否可用");
doc.Save(("e:\\2.doc"));
如果运行没问题恭喜你如此顺利,不过大部分会因为系统环境的不同出现不同错误。大部分遇到SkiaSharp引用错误,这个是因为Aspose.Words 使用了SkiaSharp 用来处理字体。
这里有2种方式供大家使用:
方法一:直接引用资源里面提供的SkiaSharp.dll,然后进行编译运行通过
方法二:nuget包查找SkiaSharp,然后找到最小下载的支持netcore版本的方案包下载,下载完毕后编译运行通过。
二、关于使用中字体的设置问题
我们还是直接上代码,很简单,一看就会,大家可以看看,用2种不同方式进行了字体设置,如果觉得哪种方便就用哪种。
Aspose.Words.Document doc = new Aspose.Words.Document();
Aspose.Words.DocumentBuilder builder = new Aspose.Words.DocumentBuilder(doc);
builder.Writeln("简单测试下是否可用");
Font font = builder.Font;
font.Name= "华文行楷";
font.Bold= true;
font.Color = System.Drawing.Color.Red;
font.Size = 26;
builder.Writeln("第二段文字内容,华文行楷,红色字体");
font.Name= "宋体";
font.Bold= false;
font.Color = System.Drawing.Color.Black;
font.Size = 14;
builder.Writeln("第三段文字内容,宋体,黑色字体");
builder.InsertHtml("<style>.font15{font-size:15px;font-weight:normal;font-family:'隶书';}.font35bold{font-size:35px;font-weight:bold;color:blue;font-family:'黑体';}</style><div class='font15'>第四段文字内容,隶书,默认字体</div><div class='font35bold'>第五段文字内容,黑体,蓝色字体</div>");
doc.Save(("e:\\2.doc"));
下面是效果图,大家参考对比
但是在上面代码中运行时出现错误,
可以看出,应该是SkiaSharp.dll找不到对应的字体了。在nuget包查找libSkiaSharp,下载安装后运行正确。
其实我们用InsertHtml方法添加自定义样式,在word中会自动转换成新建样式。只要系统中存在libSkiaSharp.so文件
注意:赋权限:chmod 77 libSkiaSharp.so
网上大部分只介绍第一种方法,第二种很少有人提起、使用,希望能从另一方面给给大家一种思考的方式。
(1)使mkfontscale和mkfontdir命令正常运行
yum install mkfontscale
(2)使fc-cache命令正常运行。如果提示 fc-cache: command not found
yum install fontconfig
liunx下安装
字体
ArrayList<FontSourceBase> fontSources = new ArrayList<>();
String fontPath = new ApplicationHome().getDir().getPath() + File.separator + "template" + File.separator + "font";
FolderFontSource fontSource = new FolderFontSource(fontPath, true);
Aspose.Words
For
.NET
是一种高级Word文档处理API,用于执行各种文档管理和操作任务。API支持生成,修改,转换,呈现和打印文档,而无需在跨平台应用程序中直接
使用
MicrosoftWord。此外,API支持所有流行的Word处理文件格式,并允许将Word文档导出或转换为固定布局文件格式和最常用的图像/多媒体格式。>>
Aspose.Words
for
.NET
已经更新最新版,主要新增5大特点,包括支持阅读PDF文档;
字体
的行距是两行连续文本的基线之间的垂直距离。...
1.总体说明:操作主要涉及两个对象Document及DocumentBuilder
Document主要用来获取文档中的节点,DocumentBuilder主要用于实现文档内容的写入
doc_Operate = new Document(blankTemplatePth);
doc_template = new Docume...
在
使用
aspose导出pdf文件,会遇到windows环境导出pdf文档正常展示,部署到linux环境就出现导出乱码,其实就是linux服务器上的
字体
不支持的问题,我们只需要在linux服务器上配置对应
字体
就ok了。