Google chrome无头浏览器可用于向最终用户提供PDF

问题描述 投票:3回答:1

我正在使用Google chrome无头浏览器的“打印到pdf”功能来代替现有的方式(使用iText)来生成PDF。

考虑到需要处理的并发调用数,这是否可行?

无头浏览器的打印到pdf功能是用于企业解决方案生产中以生成PDF /屏幕截图,还是主要用于测试和开发环境?

如果要处理来自一台机器的多个并发调用,由于可伸缩性和并行处理能力,基于AWS lambda的无服务器解决方案是否是解决此问题的好方法?

google-chrome pdf aws-lambda serverless-architecture google-chrome-headless
1个回答
0
投票

我使用lambda函数创建PDF文件,并且工作正常。可扩展性和并行流程也可以正常运行,因为它是AWS lambda。但是,当我创建有效的解决方案时,会遇到很多问题。

首先,我将AWS API Gateway用作lambda的触发器,并且API请求超时了30秒。这意味着时间有限。

我的第一个解决方案是使用“ chrome-aws-lambda”和“ puppeteer-core” nodeJS库。

坦白地说,这是一个非常缓慢的解决方案。从体系结构方面来看,这非常痛苦。用户界面->请求返回PDF-> lambda函数运行无头浏览器-> [无头chrome启动->打开某些页面->向后请求一些数据]->等待加载->创建快照->响应使用PDF

然后我尝试了一些库,并停止使用“ dynamic-html-pdf”。该库使用“ handlebars”模板和“ html-pdf” lib作为引擎。如果页面上没有动态数据(例如动态项列表或某些if语句),则只能使用“ html-pdf”。

© www.soinside.com 2019 - 2024. All rights reserved.