【问题标题】:Saving pdf on server side with jsPDF使用 jsPDF 在服务器端保存 pdf
【发布时间】:2017-02-02 13:54:02
【问题描述】:

我有一个应用程序可以生成一个 HTML 页面,其中包含用户可以编辑的数据。 最后,我使用 jsPDF 生成了一个 .pdf 文件。 有什么方法可以将生成的 .pdf 保存在我的服务器端数据库中?

我正在使用 PrimeFaces。

提前致谢

【问题讨论】:

  • 这个问题不是javascript,不是java-se,不是html,也不是PrimeFaces。你在哪里生成pdf?客户端?您可以将其存储在输入元素中吗?然后这个问题归结为将输入元素的值传递给服务器。请把你的问题分解成它实际上归结为什么。现在它是广泛而不清楚的方式
  • 您的意思是要将文件上传到某个存储库中以保存它吗?!?确实有点不清楚。
  • 抱歉不清楚,是的,我在客户端生成pdf。关键在于,在这个 HTML 表单中,用户能够键入文本并更改应用程序在数据库中获取的一些数据。我想保存jsPDF库生成的.pdf。
  • 这可能对您有所帮助,它也对我有用。 stackoverflow.com/questions/51786132/….

标签: javascript java html primefaces jspdf


【解决方案1】:

为其他用户更新我的解决方案:

我找到了 jsPDF 的 .output('datauristring') 方法,它返回一个 BASE64 字符串。

然后通过 JSON 将字符串发送到我支持的 bean 并按照我的意愿进行转换。

【讨论】:

  • 看,如果你分解问题,它归结为你发现了什么。向那个方向提出问题会更容易,例如:如何在字符串中获取 jsPDF 的输出?
【解决方案2】:

感谢大家的帮助!我找到了解决方案:

一旦用户按下按钮生成.pdf,我会将他填写的所有数据保存在数据库中,只是数据。

当用户想要查看他生成的 pdf 时,我将使用他第一次提交时收集的数据生成一个新的。

谢谢大家的回答,他们很有帮助。

【讨论】:

  • 这不是问题的“答案”。你以完全不同的方式解决了它。但请记住,如果某种“证明”需要 PDF,那么这种“解决方法”可能不是正确的解决方案!
  • 我知道这不是正确的解决方案,Kukeltje,但我的最后期限即将到来,我必须继续前进。变通办法最终总会遇到问题,但我不得不暂时跳过它。谢谢Kukeltje先生的关心,非常感谢
【解决方案3】:

我建议使用wkhtmltopdf

它是一个开源的跨平台命令行工具,可以从html内容生成pdf文件。

所以根据您的要求,您可以做的是,您需要将 html 内容发送到服务器并将此内容保存到 html 文件中。

一旦将 html 内容保存到 html 中,您就可以像在 java 中执行 MS-DOS 命令一样调用 wkhtmltopdf。

示例: new ProcessBuilder("wkhtmltopdf.exe", htmlFilePath, pdfFilePath);

生成pdf文件后,您可以读取并存储到数据库中。

【讨论】:

  • 用户已经在使用 jspdf...如果在做 java 并且你想提出不同的建议,我会建议 github.com/flyingsaucerproject 更好的集成
  • 谢谢 Kukeltje 先生和 Ravi MCA 先生
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-04-05
  • 2015-03-16
  • 1970-01-01
相关资源
最近更新 更多