使用 JavaScript 和 CSS 做一个图片转 PDF 的转换器
liuian 2024-12-29 04:28 108 浏览
这是一个简单的 JavaScript 项目,可以将图片转换为 PDF 文件。你可以从本地选择任何一张图片,只需点击一下即可将其转换为 PDF 文件。但是,除了图片之外,没有其他文件可以在此处转换为 PDF。此处使用 HTML、CSS 和 JavaScript。我使用 HTML 添加了不同的元素并创建了一个输入框来选择图像。
我们从 HTML 中获得不同类型的输入。其中之一是文件。文件输入将帮助您从设备中选择任何文件。这里我用接受 = ".png, .jpg, .jpeg"仅选择输入中的图像,因此只能选择这些图片。
JavaScript 实现图片转 PDF
在线演示地址:https://haiyong.site/tools/pdf.html
如您所见,已在渐变背景上创建了一个框。首先,这个盒子有一个小显示器。您可以在该框中看到选定的图像。这将使您知道要转换为 PDF 的图像。
但是,这里的问题是您不能一次选择多个图像。PDF 文件将由图像创建。
如何使用 JavaScript 将图像转换为 pdf ?这个PDF转换器有两个按钮。一键选择图片,一键转换并下载为 PDF 文件。
当你单击上传或选择按钮时,你可以从设备中选择任何图像。当你点击下载按钮时,你的图像将被转换为 PDF 并下载。使用很少的 HTML、CSS 和 JavaScript 就可以很容易地构建。
第一步: PDF Converter的基本结构
项目的基本结构是使用以下 HTML 和 CSS 创建的。首先,为网页添加了渐变背景色。然后创建盒子。
<div class="container">
</div>
*,
*:after,
*:before{
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
-ms-box-sizing: border-box;
box-sizing: border-box;
}
body{
font-family: arial;
font-size: 16px;
margin: 0;
background: linear-gradient(133deg, #4abeb2, #3c57d2);
color: #000;
display: flex;
align-items: center;
justify-content: center;
min-height: 100vh;
}
.container{
background: white;
width: 450px;
padding: 30px;
border-radius: 5px;
}
第二步: 图片预览框
现在已经创建了一个可以查看图像的区域。这意味着可以在此处看到您将选择转换为 PDF 的图像的预览。这个盒子使用最大宽度:400px和最小高度:200px.
<img id="showImg" src="images/img.png">
#showImg{
display: block;
margin: 0 auto;
max-width: 400px;
min-height: 200px;
background: #174353;
border-radius: 5px;
}
第 3 步: 图像到 PDF 转换器的按钮
现在已经创建了两个按钮。第一个按钮是使用输入创建的,它将基本上选择文件。第二个按钮下载 PDF 文件。
<div class="button">
<div class="upload">
<input type="file" onChange="loadFile(event)" name="" accept=".png, .jpg, .jpeg">
上传图片
</div>
<button onClick="pdfDown()">下载PDF</button>
</div>
input{
position: absolute;
left: 0;
top: 0;
width: 100%;
height: 100%;
opacity: 0;
z-index: 1;
}
.button{
display: flex;
}
button,.upload{
width: 220px;
margin: 50px 20px 10px 20px ;
text-align: center;
position: relative;
padding: 10px 5px;
font-size: 17px;
outline: none;
color: #fff;
border: none;
background-color: #023780;
border-radius: 5px;
display: block;
}
.upload{
background: #a74901;
}
第 4 步: 在 JavaScript 中实现图片转换到 PDF
现在是时候使用 JavaScript 实现图片到 PDF 的转换了。
var newImage, showImg;
function loadFile(event) {
showImg = document.getElementById('showImg');
showImg.src = URL.createObjectURL(event.target.files[0]);
newImage = document.createElement('img');
newImage.src = URL.createObjectURL(event.target.files[0]);
showImg.onload = function() {
URL.revokeObjectURL(showImg.src)
}
};
function pdfDown(){
console.log(newImage)
var doc = new jsPDF();
doc.addImage(newImage,10,10);
doc.save('ImgToPDF.pdf')
}
希望使用上面的代码你知道我是如何为 PDF 转换器创建这个 JavaScript 图像的。如果有任何问题,那么你绝对可以通过评论让我知道。
相关推荐
- 电脑截屏的快捷按键(“电脑截屏的快捷键”)
-
电脑截图快捷键是Ctrl+PrScrn。电脑上截图的方法一般有这4种方式:1、Ctrl+PrScrn使用这个组合键截屏,获得的是整个屏幕的图片;2、Alt+PrScrn这个组合键截屏,获得的结果是当...
-
- qq空间为什么打不开了怎么办
-
1、首先我们需要在自己的手机上下载并安装最新版本的QQ空间,安装完成后打开QQ空间,登录自己的账号。2、首先我们尝试打开QQ空间,打不开在手机上找到设置,点击进入设置界面,在这里我们可以对手机进行部分设置。3、进入设置界面后,我们需要在其中...
-
2026-01-07 10:55 liuian
- 联想怎么恢复系统(联想电脑系统恢复怎么操作)
-
如果电脑重新分区,安装了操作系统就无法恢复到预装系统。 安装了系统,没有做系统备份也是无法恢复的,只能够重新安装。 联想电脑的一键还原系统在需要使用的时候直接按下一键还原按键即可,系统会自动进...
- 台式机无线网卡连不上wifi怎么办
-
1、无线网卡驱动没更新或者不匹配;解决办法:开始→控制面板→系统→硬件→设备管理器→网络适配器→右击无线网卡→更新驱动程序软件→按部就班完成更新;2、无线网络服务未开通;解决办法:开始→控制面板→管理...
- 126官方邮箱登录入囗(126邮箱登录入口手机版官网)
-
126邮箱是网易的一个免费邮箱登录入口在浏览器输入:mail.126.com浏览器进入126邮箱网站之后,即可自行登录126邮箱账号。如何在手机上登录126邮箱1、打开手机,找到并打开网易邮箱软件。2...
- 耐用笔记本电脑排行(最耐用笔记本排名)
-
最耐用的笔记本电脑是联想牌子。联想绝对是最耐用的,质量最好的轻薄本,也是最好用的轻薄本之一。联想笔记本电脑的质量和做工在世界上能称第一。十大公认最耐用笔记本如下1、华硕灵耀x14第12代英特尔酷睿i...
- 固态硬盘量产工具下载(固态硬盘量产工具下载合集)
-
固态硬盘量产工具好用的依次是:SLC颗粒最好,MLC颗粒其次,TLC颗粒再次,QLC颗粒现在最次;但是颗粒也分原厂颗粒,黑片,白片;原厂最好,黑片就是淘汰下来的渣渣。slc最好寿命长速度快也最贵...
- 文件夹怎么显示隐藏的文件夹
-
查找隐藏文件夹的方式如下:1、点击桌面的“计算机”,双击打开计算机2、在计算机页面中,点开自己存储文件夹的盘,这里以c盘为例。其他盘也可以依据这样的方式进行查找。3、找到左上角的“组织”,在其下拉的菜...
-
- 电脑硬盘怎么格式化干净(电脑硬盘格式化详细过程)
-
用普通格式化硬盘最干净,采用普通格式化,可以将硬盘中的内容删除掉,同时做上标志,而快速格式化只是对硬盘做了格式化标志,而没有删除内容硬盘格式化步骤:1,打开“我的电脑”,可以看到已经分区好但需要重新格式化的硬盘。2,用右键点击需要格式化的硬...
-
2026-01-07 06:55 liuian
- 下载的歌曲怎么转换成mp3格式
-
一般酷狗音乐下载的都是MP3格式的啊,如果不是的话,也可以通过以下方法来转换。;1、打开浏览器搜索关键词,找到该软件后下载并安装,然后双击打开,再点击“添加文件”。;2、添加后,在右下角选择转换格式为...
- 所有cpu性能天梯图(所有cpu性能天梯图都一样吗)
-
1、英特尔(Intel)i59400F酷睿六核盒装CPU处理器;2、英特尔(Intel)i7-9700K酷睿八核盒装CPU处理器;3、英特尔(Intel)i78700酷睿六核盒装...
- 电脑无故占用大量内存(电脑无故占用大量内存怎么办)
-
一种可能是后台运行太多,可能是你最近进行了很多任务,导致电脑占用内存变大。也可能是内在任务,类似于你引入了潜在任务,即电脑程序负荷太重,且程序存在不稳定因素,任务自动执行以缓解电脑压力。这个一般没事的...
-
- 控制自家wifi的软件防止蹭网
-
软件防蹭网是一种可以帮助用户保护无线网络安全的工具。它可以通过识别和阻止未授权的设备接入无线网络,保护用户的网络免受未经授权的访问和攻击。这些软件通常提供一些安全功能,如MAC地址过滤、WPA2加密、访客网络等,以确保只有授权的设备可以接入...
-
2026-01-07 04:55 liuian
- 电脑假死机解决方法(电脑假死现象)
-
1、看看你笔记本是否是双显卡的配置.在玩游戏和看视频时系统一般会自动启动独立显卡。所以可能就独显运行正常。问题可能和集显有关。2、你先到你笔记本官网,下载型号一致最新版本的主板、双显卡、声卡启动安...
- 一周热门
-
-
飞牛OS入门安装遇到问题,如何解决?
-
如何在 iPhone 和 Android 上恢复已删除的抖音消息
-
Boost高性能并发无锁队列指南:boost::lockfree::queue
-
大模型手册: 保姆级用CherryStudio知识库
-
用什么工具在Win中查看8G大的log文件?
-
如何在 Windows 10 或 11 上通过命令行安装 Node.js 和 NPM
-
威联通NAS安装阿里云盘WebDAV服务并添加到Infuse
-
Trae IDE 如何与 GitHub 无缝对接?
-
idea插件之maven search(工欲善其事,必先利其器)
-
如何修改图片拍摄日期?快速修改图片拍摄日期的6种方法
-
- 最近发表
- 标签列表
-
- python判断字典是否为空 (50)
- crontab每周一执行 (48)
- aes和des区别 (43)
- bash脚本和shell脚本的区别 (35)
- canvas库 (33)
- dataframe筛选满足条件的行 (35)
- gitlab日志 (33)
- lua xpcall (36)
- blob转json (33)
- python判断是否在列表中 (34)
- python html转pdf (36)
- 安装指定版本npm (37)
- idea搜索jar包内容 (33)
- css鼠标悬停出现隐藏的文字 (34)
- linux nacos启动命令 (33)
- gitlab 日志 (36)
- adb pull (37)
- python判断元素在不在列表里 (34)
- python 字典删除元素 (34)
- vscode切换git分支 (35)
- python bytes转16进制 (35)
- grep前后几行 (34)
- hashmap转list (35)
- c++ 字符串查找 (35)
- mysql刷新权限 (34)
