是否可以将具有不同页面大小的图像导出为单个pdf?
解决方法:
我实际上能够使用addPage([imgWidth, imgHeight])添加具有不同图像大小的多个页面,除了第一页,其由新的jsPDF(‘l’,’pt’,’a4′)定义.
可以使用.deletePage(1)删除空白的第一页.如果愿意,您还可以在第一页添加一些文本.
crossorigin="anonymous">
function exportPdf(urls) {
let pdf = new jsPDF('l', 'pt', 'a4');
pdf.text(20, 20, 'Some text here');
for (let i = 0; i < urls.length; i++) {
let img = new Image();
img.src = urls[i];
img.onload = function () {
const imgWidth = this.width;
const imgHeight = this.height;
const imgRatio = imgWidth / imgHeight;
if (i >= 0) {
if (imgRatio > 0) {
pdf.addPage([imgWidth, imgHeight]);
else {
pdf.addPage([imgWidth, imgHeight], 'p');
pdf.setPage(i + 2);
pdf.addImage(img, 'JPEG', 0, 0, imgWidth, imgHeight, null, 'NONE');
if (i == urls.length - 1) {
pdf.save('Photos.pdf');
更好但更复杂的方法是使用固定页面格式并计算图像大小和宽高比,然后相应地设置参数(并根据需要旋转图像),以便图像可以适合纸张,即a4在此案件.它可以是pdf.addImage(img,’JPEG’,adjustX,adjustedY,adjustWidth,adjustedHeight,null,’NONE’);或pdf.addImage(img,’JPEG’,adjustX,adjustedY,adjustedWidth,adjustedHeight,null,-90);
标签:jspdf,javascript,jquery
来源: https://codeday.me/bug/20191002/1843954.html
我有多个不同大小(高度和宽度)的图像需要使用jspdf转换为PDF,但我无法使用addPage()函数来做到这一点.是否可以将具有不同页面大小的图像导出为单个pdf?解决方法:我实际上能够使用addPage([imgWidth, imgHeight])添加具有不同图像大小的多个页面,除了第一页,其由新的jsPDF(‘l’,’pt’,’a4′)定义.可以使用.deletePage(1)删除空白的第一...
介绍一下纯
jspdf
用法,将一个图片列表
导出
为
pdf
文件
,根据图片宽高计算在
pdf
中的位置
jsPDF
是一个基于
HTML
5的客户端解决方案,用于生成各种用途的
PDF
文档。
官网地址:https://rawgit.com/MrRio/
jsPDF
/master/docs/
1、安装:npm install
jspdf
2、引入:import
jsPDF
from "
jspdf
"
3、使用:
let
pdf
= new
jsPDF
('p', 'pt', [
pdf
X,
pdf
Y]);
电商项目中,经常会遇到
导出
为
PDF
的功能,最最简单的方式就是:window.print(),可以自动展示出当前
页面
的打印预览效果。
如果使用:window.print()实现打印,我们可以通过在浏览器控制台测试一下效果:
效果如下所示:
这种情况window.print()适用于全屏
页面
的,而非弹窗的形式,如果要只打印弹窗部分,则需要用其他的方式:
html
2
pdf
实现
导出
html
页面
为
pdf
1.npm install
html
2canvas
jspdf
--save——安装插件到package.j
export function ExportSave
Pdf
(
html
Title, currentTime) {
var element = document.getElementById('
pdf
Centent')
html
2canvas(element, {
logging: false
}).then(function(can.
web/viewer.js的内容中:
有
页面
宽度
对应的放大值,只需要扩大1.05倍左右即可。
var pageWidthScale = (this.container.clientWidth - hPadding) / currentPage.width * currentPage.scale;
var pageHeightScale = (this.container.clientHeight - vPadding) / currentPage.height * currentPage.s
在Web项目中,经常需要在浏览器端展示
PDF
文档,本文通过一个简单的小例子,简述
pdf
.js【一个通用的、基于web标准的、用于解析和呈现
pdf
的平台】的简单使用,仅供学习分享使用,如有不足之处,还请指正。
在Web项目中,经常需要在浏览器端展示
PDF
文档,本文通过一个简单的小例子,简述
pdf
.js的简单使用,仅供学习分享使用,如有不足之处,还请指正。
pdf
.js下载
pdf
.js是一个通用的、基于web标准的、用于解析和呈现
pdf
的平台。用户可以通过
pdf
.js的官方网站,进行下载,如下图所示:
pdf
.js可以实现在
html
下直接浏览
pdf
文档,是一款开源的
pdf
文档读取解析插件
pdf
.js主要包含两个库
文件
,一个
pdf
.js和一个
pdf
.worker.js,一个负责API解析,一个负责核心解析。
我发现
pdf
.js就是把
pdf
以图片形式展示在
页面
上的。
所以在使用之前需要导入这两个jar包,具体使用最好查看Github上的开源项目(https://github...
1. 使用第三方库,如
jsPDF
或
html
2canvas。
2. 使用浏览器的内置功能,如 window.print() 方法,可以将
HTML
页面
转换为
PDF
文件
。
下面是使用
jsPDF
的例子:
// 引入
jsPDF
库
import
jsPDF
from '
jspdf
';
// 创建一个新的
jsPDF
实例
const
pdf
= new
jsPDF
();
// 设置文档的
页面
大小
为 A4 纸张
pdf
.setProperties({
title: '
HTML
to
PDF
',
subject: 'Generated
PDF
file using
jsPDF
library',
author: 'Your Name',
keywords: '
html
,
pdf
,
javascript
',
creator: 'Your Name'
// 使用
html
2canvas 库将
HTML
页面
转换为 canvas 元素
html
2canvas(document.querySelector('#
html
-to-
pdf
')).then(canvas => {
// 将 canvas 元素转换为
图像
数据
const imgData = canvas.toDataURL('image/png');
// 将
图像
数据添加到
PDF
文档中
pdf
.addImage(imgData, 'PNG', 0, 0);
// 下载
PDF
文件
pdf
.save('
html
-to-
pdf
.
pdf
');
使用 window.print() 方法的例子:
// 在点击按钮时触发打印功能
document.querySelector('#btn-print').addEventListener('click', () => {
window.print();
在浏览器中,你可以使用快捷键 Ctrl + P 或在浏览器菜单中点击“打印”来打开浏览器的打印对话框,然后选择“保存为
PDF
”即可将当前
页面
保存为
PDF
文件
。