如何使用网站上的JavaScript在现有PDF上添加文本?

 小色米虫_524 发布于 2023-01-17 11:01

我正在寻找一种使用JavaScript在现有PDF上添加文本的方法.我将其设想为用户点击按钮下载PDF并接收带有此原始PDF的文件以及在页面上写入的其他文本.

这有可能吗?

使用现有PDF来保留原始设计非常重要,PDF还包括以不同字体排版的文本和各种unicode字形.

将此文本从网页生成到PDF上也很重要,因为生成的每个文本都会略有不同,从而为最终用户创建唯一的PDF.

我一直在网上研究这个主题并找到了jsPDF库,但这似乎只生成PDF,而不是在现有PDF上编写,而我在PDF上需要的内容太复杂了,无法使用jsPDF生成所有内容.如果我不需要,我不想将现有的PDF用作背景图像.

我还发现了一些像PDFKit这样的后端库,但是如果可能的话,我希望避免使用后端库 - 而且它似乎也不会写入现有的PDF.

我在网上看到了一些关于文本字段的东西,但很难理解这是否是一条可行的路径 - 是否可以在PDF中添加文本字段,然后在用户之前从网页插入文本到这些字段中下载吗?

非常感谢你.

1 个回答
  • 我猜您可以将PDF文件转换为html,或者至少在画布上绘制它.如果可以,您可以使用jsPDF在现有html之上添加overlay html以生成新的PDF文件.

    var doc = new jsPDF();
    
    doc.addHTML(document.body, function() {
        doc.text(20, 20, 'Hello world!');
        doc.text(20, 30, 'This is client-side Javascript, pumping out a PDF.');
        doc.addPage();
        doc.text(20, 20, 'Do you like that?');
        printData();
    });
    
    printData = function() {
      var str = doc.output('datauristring');
      console.log(str);
      // window.open(str);  Optional
    }
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
    <script src="http://html2canvas.hertzen.com/build/html2canvas.js"></script>
    <script src="http://mrrio.github.io/jsPDF/dist/jspdf.debug.js"></script>
    
    
    <div id="mypdf">
      <div>
        My Pdf Content Here
      </div>
    </div>
    2023-01-17 11:04 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有