Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/41.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 将HTML页面转换为PDF文件的最佳方法_Java_Node.js_Pdf Generation_Headless Browser_Pdf Conversion - Fatal编程技术网

Java 将HTML页面转换为PDF文件的最佳方法

Java 将HTML页面转换为PDF文件的最佳方法,java,node.js,pdf-generation,headless-browser,pdf-conversion,Java,Node.js,Pdf Generation,Headless Browser,Pdf Conversion,我正在写一个新的服务转换HTML到PDF。但现在我很困惑,我应该选择哪种方式 我必须实施的方法: 使用headless浏览器,捕获HTML页面并转换为PDF 使用Java/NodeLib进行转换。哪个将在PDF文件中创建HTML相关组件,然后进行渲染 现在,请帮助我了解实现服务的最佳方式是什么以及为什么 [更新] 每种方法的优缺点是什么?在我看来,最好的前进道路总是取决于你已有的经验和你采取的方法。这里没有对错,每个人都必须根据自己的喜好来决定 每种方法都有优点和缺点。其中包括: 无头浏览器

我正在写一个新的服务转换HTML到PDF。但现在我很困惑,我应该选择哪种方式

我必须实施的方法:

  • 使用
    headless
    浏览器,捕获
    HTML
    页面并转换为
    PDF
  • 使用
    Java
    /
    Node
    Lib进行转换。哪个将在PDF文件中创建HTML相关组件,然后进行渲染
现在,请帮助我了解实现服务的最佳方式是什么以及为什么

[更新]


每种方法的优缺点是什么?在我看来,最好的前进道路总是取决于你已有的经验和你采取的方法。这里没有对错,每个人都必须根据自己的喜好来决定

每种方法都有优点和缺点。其中包括:

无头浏览器:
优点:

  • 不需要大的lib,因此非常节省内存
劣势

  • 所需的浏览器必须安装在计算机/服务器上
  • 不同浏览器的渲染可能不同
库:
优点:

  • 提供不同的图书馆
  • 对于流行的libs,有很好的文档和代码示例
劣势

  • 升级到较新版本时,通常需要调整代码
  • 升级到新版本时,结果可能会有所不同

在我的项目中,我使用无头chrome浏览器。为此,我在上找到了一个易于使用的api,它使用了Chrome的DevTools

它还包括如何将页面打印成PDF

出于我的目的,我定制了这个示例,并将HTML写入一个临时文件,然后导航到该文件

// Navigate to HTML-File
page.navigate(htmlTempFile.getAbsolutePath());

我不能说这是不是最好的方式,但对我来说,这是最简单、最容易理解的方式

但我仍然不知道什么是最好的方式!在我看来,最好的方法总是取决于你已有的经验和你采取的方法。每种方法都有优点和缺点。你能描述一下每种方法的优点和缺点吗