RyanPan
October 18, 2019, 10:37am
1
Aspose.Words将.docx转换成HTML_FIXED出现的三个问题咨询解决方案:
#问题1 :中文和数字基线不一致,出现位置偏差;
#问题2 :文本设置字符间距时紧缩(Condensed)10磅,出现文本显示不全,更大的磅数更会直接导致文本被丢弃;
#问题3 :删除线的位置不对,不在文本的竖直居中位置上。
Microsoft Office Word的展示效果参考附件1.word2htmlBugMS.png (149.2 KB)
Aspose.Words HTML_FIXED的展示效果参考附件2. word2htmlBubAW.jpg (79 KB)
原始.docx文件参考附件3.Word2Html问题汇总.docx.zip (13.6 KB)
开发环境说明:
Aspose.Words版本:aspose-words-19.9-android.via.java.jar
运行系统:Android OS 8.1.0
HtmlFixedSaveOptions实例:
saveOptions.setPageIndex(0);
saveOptions.setPageCount(Integer.MAX_VALUE);
saveOptions.setShowPageBorder(false);
saveOptions.setPageMargins(0D);
saveOptions.setFontFormat(ExportFontFormat.TTF);
saveOptions.setOptimizeOutput(false);
saveOptions.setPrettyFormat(true);
saveOptions.setMemoryOptimization(false);
若有其他需要补充的内容,请反馈。
@RyanPan ,
请确保将以下字体文件安装在要转换为HTML_FIXED的Android设备上。
请参考以下文章以了解详细信息:
真型字体
如果问题仍然存在,请也ZIP并上传Aspose.Words生成的输出HTML_FIXED文件,此处显示了不良行为以供测试。 然后,我们将进一步对问题进行调查,并为您提供更多信息。
@awais.hafeez
Hi,感谢回复,尝试了你所提及的方案,问题仍然存在。相关的尝试如下:
通过调用FontSettings.getDefaultInstance().getSubstitutionSettings().getTableSubstitution().addSubstitutes()设置字体规则,且通过LoadOptions.setWarningCallback()设置的IWarningCallback确认宋体和仿宋字体替换规则被应用上了。然而,只有问题1得到了解决,问题2和问题3仍然存在。
Aspose.Words生成的输出HTML_FIXED文件参考附件output-html_fixed.zip (1.4 MB)
@RyanPan ,
请抽出一些时间来调查这种情况。 我们将尽快与您联系并提供调查结果。
@RyanPan ,
我们测试了这种情况,并最终设法重现了同样的问题。 为了更正,我们已将此问题记录在问题跟踪系统中。 此问题的ID为WORDSJAND-443 。 我们将进一步调查该问题的详细信息,并让您及时了解更正的状态。 对于给您带来的不便,我们深表歉意。
@RyanPan ,
您能否从Windows计算机中复制所需的字体并将其粘贴到自定义的Fonts文件夹中,然后执行程序并在此处共享您的发现以进行进一步测试?
@RyanPan ,
关于WORDSJAND-443,是对您进行了更新,我们已经完成了对这一问题的分析,并且很可能以“ Not Bug”状态关闭此问题。 请查看以下分析详细信息:
请使用FontSettings类指定所需的字体:
FontSettings settings = new FontSettings();
settings.setFontsSources(
new FontSourceBase[]
{
new FolderFontSource("X:\\443\\output-html_fixed-from Customer\\output-html_fixed\\bcd652fb_c0000000_0\\", false),
// new SystemFontSource()
});
LoadOptions lo = new LoadOptions();
lo.setFontSettings(settings);
Document doc = new Document("X:\\443\\in.docx", lo);