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

Tue Nov 03, 2020 4:13 am

在没有图形界面的Linux上,是否支持xvfb来调用spire.pdf来转换html为pdf。
目前在debian10 上面通过xvfb测试不能正常生成。

shpodgdd
 
Posts: 2
Joined: Tue Nov 03, 2020 4:10 am

Tue Nov 03, 2020 9:50 am

您好,

感谢咨询。
您是在使用我们Spire.PDF for Java的插件方法来转换HTML到PDF,对吗?对于您说的xvfb调用我们产品,您是如何操作的呢?
另外,还请您提供一下您的html文档给我们一并调查,谢谢!

Sincerely,
Brian
E-iceblue support team
User avatar

Brian.Li
 
Posts: 1271
Joined: Mon Oct 19, 2020 3:04 am

Fri Nov 06, 2020 1:36 pm

Brian.Li wrote:您好,

感谢咨询。
您是在使用我们Spire.PDF for Java的插件方法来转换HTML到PDF,对吗?对于您说的xvfb调用我们产品,您是如何操作的呢?
另外,还请您提供一下您的html文档给我们一并调查,谢谢!

Sincerely,
Brian
E-iceblue support team

在Debian10 minimal安装下没有图形界面。通过命令安装xvfb库:apt-get install -y xvfb
以下是使用xvfb的方式 以headless的方式运行spire.pdf的java程序:
Code: Select all
Xvfb :99 -ac -nolisten tcp  &
export DISPLAY=:99
java -jar spire-demo-0.0.1-SNAPSHOT.jar 

以上代码正常运行,但是没有生成pdf。在带有图形界面的环境下运行上面的程序是可以正常生成pdf文件的。
spire-demo的代码如下
Code: Select all
@SpringBootApplication
public class DemoApplication implements ApplicationRunner {

    public static void main(String[] args) {
        SpringApplication.run(DemoApplication.class, args);
    }

    @Override
    public void run(ApplicationArguments args) throws Exception {
        //定义需要转换的HTML
        String url = "https://www.baidu.com/";
        String fileName = "result.pdf";
        //设置插件本地地址
        String pluginPath = "plugins_linux";
        HtmlConverter.setPluginPath(pluginPath);
        //转换到PDF并设置PDF尺寸
        HtmlConverter.convert(url, fileName, true, 1000000, new Size(600f, 900f), new PdfMargins(0));

    }
}

shpodgdd
 
Posts: 2
Joined: Tue Nov 03, 2020 4:10 am

Mon Nov 09, 2020 10:59 am

您好,

感谢提供更多信息。
请您尝试下使用以下命令运行您的可执行jar包,并告诉我们您的测试结果。
Code: Select all
xvfb-run java -jar xxx.jar

另外,在测试时请确保您的Linux系统可以连接到网络。
期待您的回复。

Sincerely,
Brian
E-iceblue support team
User avatar

Brian.Li
 
Posts: 1271
Joined: Mon Oct 19, 2020 3:04 am

Return to 中文技术支持