杭州建站模板搭建,wordpress 免费主题下载,揭阳模板网站建站,html5手机网站织梦模板目录 零一、保存网页快照的三种方法二、利用打印机保存pdf的方法 零
最近星球有人问如何使用页面打印功能#xff0c;另存为pdf
一、保存网页快照的三种方法
解决方案已经放在星球内#xff1a;https://articles.zsxq.com/id_55mr53xahr9a.html当然也可以看如下代码… 目录 零一、保存网页快照的三种方法二、利用打印机保存pdf的方法 零
最近星球有人问如何使用页面打印功能另存为pdf
一、保存网页快照的三种方法
解决方案已经放在星球内https://articles.zsxq.com/id_55mr53xahr9a.html当然也可以看如下代码如下三种保存快照的方法分别是保存pdf、保存mhtml文件、保存全局截图的方法具体看网页加载情况可以设置滚动到底部再进行如下操作等
from DrissionPage import ChromiumPage
from urllib.parse import urlparse
browser ChromiumPage()url https://www.baidu.com/
file_name urlparse(url).netloc.split(:)[0].lstrip(www.)
browser.get(url)
browser.save(pathD:\\, namefile_name, as_pdfTrue)
browser.save(pathD:\\, namefile_name, as_pdfFalse)
browser.get_screenshot(pathD:\\, namefile_name, full_pageTrue) 二、利用打印机保存pdf的方法
常规步骤一般我们在浏览器打开网页然后鼠标右击检查选择打印会出现如下页面然后我们选择另存为pdf保存这么一个流程那么dp如何实现这个流程代码在文章末尾 打印机保存pdf最终代码
import json
from DrissionPage import ChromiumPage, ChromiumOptionssettings {recentDestinations: [{id: Save as PDF, origin: local, account: }],selectedDestinationId: Save as PDF,version: 2, # 另存为pdf1 是默认打印机isHeaderFooterEnabled: True, # 是否勾选页眉和页脚# customMargins: {}, # marginsType: 2, # scaling: 100, # 缩放 # scalingType: 3, # scalingTypePdf: 3,isLandscapeEnabled: False, # landscape横向portrait 纵向若不设置该参数默认纵向isCssBackgroundEnabled: True, # 是否勾选背景图形mediaSize: {height_microns: 297000, name: ISO_A4, width_microns: 210000, custom_display_name: A4 210 x 297 mm},
}
co ChromiumOptions()
co.set_argument(--window-size1920, 1080)
co.set_pref(printing.print_preview_sticky_settings.appState, json.dumps(settings))
co.set_pref(savefile.default_directory, rD:\\) # 修改为网页转PDF后要保存的路径
co.set_argument(--kiosk-printing) # 静默打印无需用户点击打印页面的确定按钮
print(co.preferences)
browser ChromiumPage(co)
browser.get(https://www.baidu.com/)
browser.run_js(fdocument.title{browser.title};window.print();, timeout6) # 利用js修改网页的title该title最终就是PDF文件名利用js的window.print可以快速调出浏览器打印窗口避免使用热键ctrlP参考文章 https://www.cnblogs.com/caroline2016/p/18348831 https://shandianchengzi.blog.csdn.net/article/details/137883196
调用浏览器打印机另存为pdf
co.set_argument(--print-to-pdf)
co.set_pref(download.prompt_for_download, False)
co.set_pref(plugins.always_open_pdf_externally, False)
co.set_pref(plugins.plugins_disabled, [Chrome PDF Viewer])
co.set_pref(profile.default_content_settings.popups, 0)
co.set_pref(directory_upgrade, True)
co.set_argument(--enable-print-browser)
browser.run_js(return window.print(), timeout6)