为有中文需求的客户提供多渠道中文技术支持.

Fri Mar 08, 2024 9:21 am

你好,
我使用的是spire.pdf.free,JAVA开发的程序,通过linux容器环境,转换pdf到svg,执行:saveToFile(filePath, FileFormat.SVG) 没有任何的报错,但是发现文件并没有生成,我又使用spire.pdf 也无法保存成功,这个是什么原因?我在本地调试是好的,本地是windows系统。另外,我发现有些pdf可以,有些不可以。

望解答,谢谢!

luokechun
 
Posts: 2
Joined: Fri Mar 08, 2024 9:17 am

Fri Mar 08, 2024 9:59 am

您好,

感谢您的咨询。
为了帮助我们快速有效的调查解决您的问题,请提供不能成功转换到SVG的PDF文件。您可以直接附在这个帖子上或通过邮件([email protected])发送给我们。提前感谢。

Sincerely,
Annika
E-iceblue support team
User avatar

Annika.Zhou
 
Posts: 1657
Joined: Wed Apr 07, 2021 2:50 am

Fri Mar 08, 2024 10:51 am

文件已邮件发送。

luokechun
 
Posts: 2
Joined: Fri Mar 08, 2024 9:17 am

Mon Mar 11, 2024 5:35 am

您好,

感谢您通过邮件提供的详细信息。
我使用您提供的代码在docker环境做了初步测试,发现docker环境缺少您PDF文件中使用到的字体。我对您的代码做了修改并再次测试,可以成功转换到SVG文件。我使用的Spire.PDF的版本是最新版Spire.PDF for Java版本: 10.2.6,修改后的代码如下。我已通过电子邮件将我测试的项目打包发送给您。压缩包中包含了我这边在docker环境中生成的结果文件。请下载解压后在您那边测试(JDK1.8)。
Code: Select all
//加载字体文件
PdfDocument.setCustomFontsFolders("Fonts");
byte[] fileContent = Files.readAllBytes(Paths.get("pt9.pdf"));
String filePath = ("result.svg");
File file = new File(filePath);
PdfDocument pdfDocument = new PdfDocument();
pdfDocument.loadFromBytes(fileContent);
pdfDocument.saveToFile(filePath,0,0,  FileFormat.SVG);
pdfDocument.close();
pdfDocument.dispose();
if (!file.exists()) {
    System.out.println("svg文件生成失败");
}


Sincerely,
Annika
E-iceblue support team
User avatar

Annika.Zhou
 
Posts: 1657
Joined: Wed Apr 07, 2021 2:50 am

Return to 中文技术支持