今天看到微信 公众号的文章,而文章内容都是图片,想要保存图片并制成pdf文档,于是有了今天的技术实现。
保存图片
在控制台下面输入以下代码
代码一:输出所有格式图片
// 获取页面中所有图片元素
let images = document.querySelectorAll('img');
// 遍历所有图片元素并输出它们的src属性
images.forEach(img => {
console.log(img.src);
});
代码二 保存某网址下的图片
// 获取页面中所有图片元素
let images = document.querySelectorAll('img');
// 遍历所有图片元素并输出以'http://xxx'开头的图片URL地址
images.forEach(img => {
if (img.src.startsWith('http://xxx')) {
console.log(img.src);
}
});
使用idm从剪贴板批量下载
python代码实现jpg2pdf
先安装运行库
pip install PIL
源代码
from PIL import Image
import os
def combine_imgs_pdf(folder_path, pdf_file_path):
"""
合成文件夹下的所有图片为pdf
Args:
folder_path (str): 源文件夹
pdf_file_path (str): 输出路径
"""
folder_path = os.path.normpath(folder_path) # 规范化路径
pdf_file_path = os.path.normpath(pdf_file_path) # 规范化路径
files = os.listdir(folder_path)
png_files = []
sources = []
for file in files:
_, file_extension = os.path.splitext(file)
if file_extension.lower() in ['.png', '.jpg']:
file_path = os.path.join(folder_path, file)
print("Adding file to png_files:", file_path)
png_files.append(file_path)
png_files.sort()
if not png_files:
print("No PNG or JPG files found in the folder.")
return
output = Image.open(png_files[0])
png_files.pop(0)
for file in png_files:
png_file = Image.open(file)
if png_file.mode == "RGB":
png_file = png_file.convert("RGB")
sources.append(png_file)
output.save(pdf_file_path, "pdf", save_all=True, append_images=sources)
if __name__ == "__main__":
folder = r"E:\下载\jpg\针灸大全\\"
pdfFile = r"E:\下载\jpg\针灸大全\针灸大全笔记.pdf"
combine_imgs_pdf(folder, pdfFile)