pdf - Android相机,拍照并保存为多页PDF,然后通过以下方式上传到服务器
问题描述
我有一个网络表单,想在智能手机上打开它——而不是为一些需要合并到一个 PDF 中的文档拍照,最后这个文件需要上传到服务器。
我的解决方案是使用 Google Drive 将 PDF(扫描)上传到 GDrive,然后通过安装在网站上的某种小部件(任何链接赞赏)以某种方式将此文件从 gdrive 下载到服务器。
也许有人有更好的主意?
解决方案
我知道为时已晚,但我的回答可能对其他人有所帮助。我也面临同样的挑战,并实现了基于 Javascript 的自定义解决方案,并且由于您使用的是 Web 表单,因此该解决方案将完全符合您的需求。
您必须使用JSPdf javascript 库,JSPdf 在您的浏览器中为您提供 pdf 对象,您可以上传它下载它,还有很多其他的东西可以玩。
首先,您必须根据您的要求初始化 JSPdf 对象。我正在创建页面大小宽度:500px 和高度 500px 的 PDF。
pdf = new jsPDF("l", "pt", [500,500]);
简单地说,当您从相机拍照时,您将拥有 base64 格式的每张图片,您必须在 JSPdf 对象中插入该 base64 格式
pdf.addImage(imgData, 'JPEG', 0, 0);
您可以重复上面的代码以根据需要添加来自相机的图片,在后端这些图像正在编译和创建 pdf 文档,其中每个页面都有每个图像按顺序排列。
完成后,您可以使用以下代码以base64对象的形式获取 PDF 对象,您可以将其上传到任何服务器。
pdf.output('datauristring')
以上只是 pdf 部分,您可以在此处找到完整的工作示例,包括相机部分Javascript Component to Scan Document
推荐阅读
- javascript - 可以将 Promise 的返回用作 Promise.all() 执行中下一个函数调用的输入吗?
- rust-tokio - 为什么不能将 tokio::task::spawn 重构为 fn?
- python - skimage 的意思是没有返回预期的结果?
- javascript - 在下拉菜单中选择项目时如何显示内容?
- javascript - 使用 MySQL 数据更新 ChartJS
- swift - 为什么我收到一个奇怪的错误:nw_protocol_get_quic_image_block_invoke dlopen libquic 在 SwiftUI 中失败?
- c - 如何排除正在运行的可执行文件 C
- php - Android URL 连接错误:使用 XAMPP 的数据库连接错误
- java - Docker 中的 Java RMI
- reactjs - React 和 Redux:管理 Redux 自定义中间件列表