在我使用aspose加载一个docx文件,文档中页眉的线条无法保持与原件一致,如何解决?
以下为原文件中页眉线条的显示:
以下为使用aspose.word 加载后保存的word文档中页眉线条的显示:
原始文档:
cnv_test.docx (38.7 KB)
在我使用aspose加载一个docx文件,文档中页眉的线条无法保持与原件一致,如何解决?
以下为原文件中页眉线条的显示:
我操作的代码如下:
public static boolean doc2pdf(String inPath, String outPath) {
FileOutputStream os = null;
try {
long old = System.currentTimeMillis();
// 新建一个空白pdf文档
File file = new File(outPath);
os = new FileOutputStream(file);
// Address是将要被转化的word文档
Document doc = new Document(inPath);
doc.save(os, SaveFormat.DOCX);
long now = System.currentTimeMillis();
// 转化用时
System.out.println("pdf转换成功,共耗时:" + ((now - old) / 1000.0) + "秒");
} catch (Exception e) {
e.printStackTrace();
return false;
}finally {
if (os != null) {
try {
os.flush();
os.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
return true;
}
@shirley1207 正如我所看到的,你的方法名为doc2pdf
,所以它应该将文档转换为 PDF。 但在代码中,您将文档保存为 DOCX。 无论如何,我对两种格式进行了测试,并且问题无法重现。 您能否在此附上您有问题的输出文档以供我们参考?
@shirley1207 使用最新的 24.2 版本的 Aspose.Words for java 无法重现该问题。 以下是使用最新版本的 Aspose.Words 通过以下简单代码生成的 DOCX 和 PDF 文档:
Document doc = new Document("C:\\Temp\\in.docx");
doc.save("C:\\Temp\\out.docx");
doc.save("C:\\Temp\\out.pdf");
out.docx (33.4 KB)
out.pdf (18.3 KB)
因此,请尝试使用最新版本的 Aspose.Words,并告知我们问题是否仍然存在。
我换成24.1后就暂时没有这个问题,我再观察一下,但还有一个问题没有解决,就是word转pdf后,多了一个主体内容为空白的页面,即3页的word转换为pdf后出现了4页,这种情况如何避免一下?
@shirley1207 出现该问题很可能是因为文档中使用的字体在处理文档的环境中不可用。 如果 Aspose.Words 找不到文档中使用的字体,则字体被替换。 由于字体规格的差异,这可能会导致布局差异,并导致页面检测不正确。 您可以实现 IWarningCallback 以在执行字体替换时收到通知。
以下文章可能对您有用:
https://docs.aspose.com/words/java/specify-truetype-fonts-location/
https://docs.aspose.com/words/java/install-truetype-fonts-on-linux/
如果提供所需的字体后问题仍然存在。 请在此附上有问题的输入输出文档进行测试。 我们将检查该问题并为您提供更多信息。