当前位置:首页 > 编程笔记 > 正文
已解决

利用AI Chat 将电子书自动截屏并保存成pdf文件

来自网友在路上 170870提问 提问时间:2023-10-31 20:36:34阅读次数: 70

最佳答案 问答题库708位专家为你答疑解惑

电子书如果要下载下来,无非就两种类型的方法,一种是从内部破解,通常是某些极客将软件破解成免费版,但是风险也大。另一种是从外部破解,就是截屏保存,然后将所有图片拼成pdf文件。

如果要将整本电子书截屏保存,那么截屏的动作重复度极高。计算机不就是擅长做重复性的动作,那么只要让计算机:

<style>#mermaid-svg-Bl8hx6xI3HPBamZf {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-Bl8hx6xI3HPBamZf .error-icon{fill:#552222;}#mermaid-svg-Bl8hx6xI3HPBamZf .error-text{fill:#552222;stroke:#552222;}#mermaid-svg-Bl8hx6xI3HPBamZf .edge-thickness-normal{stroke-width:2px;}#mermaid-svg-Bl8hx6xI3HPBamZf .edge-thickness-thick{stroke-width:3.5px;}#mermaid-svg-Bl8hx6xI3HPBamZf .edge-pattern-solid{stroke-dasharray:0;}#mermaid-svg-Bl8hx6xI3HPBamZf .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-svg-Bl8hx6xI3HPBamZf .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-svg-Bl8hx6xI3HPBamZf .marker{fill:#333333;stroke:#333333;}#mermaid-svg-Bl8hx6xI3HPBamZf .marker.cross{stroke:#333333;}#mermaid-svg-Bl8hx6xI3HPBamZf svg{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;}#mermaid-svg-Bl8hx6xI3HPBamZf .label{font-family:"trebuchet ms",verdana,arial,sans-serif;color:#333;}#mermaid-svg-Bl8hx6xI3HPBamZf .cluster-label text{fill:#333;}#mermaid-svg-Bl8hx6xI3HPBamZf .cluster-label span{color:#333;}#mermaid-svg-Bl8hx6xI3HPBamZf .label text,#mermaid-svg-Bl8hx6xI3HPBamZf span{fill:#333;color:#333;}#mermaid-svg-Bl8hx6xI3HPBamZf .node rect,#mermaid-svg-Bl8hx6xI3HPBamZf .node circle,#mermaid-svg-Bl8hx6xI3HPBamZf .node ellipse,#mermaid-svg-Bl8hx6xI3HPBamZf .node polygon,#mermaid-svg-Bl8hx6xI3HPBamZf .node path{fill:#ECECFF;stroke:#9370DB;stroke-width:1px;}#mermaid-svg-Bl8hx6xI3HPBamZf .node .label{text-align:center;}#mermaid-svg-Bl8hx6xI3HPBamZf .node.clickable{cursor:pointer;}#mermaid-svg-Bl8hx6xI3HPBamZf .arrowheadPath{fill:#333333;}#mermaid-svg-Bl8hx6xI3HPBamZf .edgePath .path{stroke:#333333;stroke-width:2.0px;}#mermaid-svg-Bl8hx6xI3HPBamZf .flowchart-link{stroke:#333333;fill:none;}#mermaid-svg-Bl8hx6xI3HPBamZf .edgeLabel{background-color:#e8e8e8;text-align:center;}#mermaid-svg-Bl8hx6xI3HPBamZf .edgeLabel rect{opacity:0.5;background-color:#e8e8e8;fill:#e8e8e8;}#mermaid-svg-Bl8hx6xI3HPBamZf .cluster rect{fill:#ffffde;stroke:#aaaa33;stroke-width:1px;}#mermaid-svg-Bl8hx6xI3HPBamZf .cluster text{fill:#333;}#mermaid-svg-Bl8hx6xI3HPBamZf .cluster span{color:#333;}#mermaid-svg-Bl8hx6xI3HPBamZf div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:12px;background:hsl(80, 100%, 96.2745098039%);border:1px solid #aaaa33;border-radius:2px;pointer-events:none;z-index:100;}#mermaid-svg-Bl8hx6xI3HPBamZf :root{--mermaid-font-family:"trebuchet ms",verdana,arial,sans-serif;}</style>
截屏
保存
下一页
是否结束
保存成PDF

一直重复这个动作,知道满足条件后保存成PDF文件,
理论成立,便可实践
作为一个开发能力不强,代码能力不强的小白,纯靠手搓的话,头发都会秃掉。最近ChatGPT等AI Chat 很火,而且很智能,能够回答我们大部分的问题。我最近也在用百度的文心一言,挺好用的,大大减少了我检索的时间,以至于后面我要实践的内容,也是通过文心一言辅助我完成。

  1. 既然需要用电脑操作,那么我们就需要将手机或平板上的内容进行投屏
    市面上的投屏工具普遍需要VIP才能投屏,显然不符合我白嫖的性格,通过文心一言搜索:用开源的工具将手机屏幕通过数据线投影到电脑上(问问题的方式真的很重要,不然就给你推荐一些需要付费的投屏软件),接下来我会通过问AI问题的形式 ,实现将电子书自动截屏并保存成pdf文件这个功能。既然是AI回答问题,那么不同的时间不同的场景问相同的问题得到的答案是不一样的
    在这里插入图片描述
    于是就给我介绍了scrcpy,作为一个用爱发电的作者,这么好用的工具我肯定不会藏着掖着,这个通过问问题可是很难找到答案的,链接奉上: scrcpy-手机投屏到电脑<–这里面有下载和如何使用scrcpy的教程

  2. 如何用python去控制键盘和鼠标,不知道的话可以问问AI
    在这里插入图片描述

import pyautogui  # 移动鼠标到屏幕的(100, 100)坐标处  
pyautogui.moveTo(100, 100, duration=0.25)  # 点击鼠标左键  
pyautogui.click()  # 输入文本  
pyautogui.write('Hello, world!', interval=0.25)  # 按下键盘上的"Enter"键  
pyautogui.press('enter')

现在我们已经找到需要使用的pyautogui库了,既然这个库都能控制键盘和鼠标了,那问问pyautogui库能不能截屏
在这里插入图片描述

import pyautogui  # 截取屏幕并保存为图像文件  
screenshot = pyautogui.screenshot()  
screenshot.save('screenshot.png')

在这里插入图片描述

import pyautogui  # 截取屏幕中心1000x1000区域的截图,并保存为PNG格式的文件  
screenshot = pyautogui.screenshot(region=(0, 0, 1000, 1000))  
screenshot.save('screenshot.png')
  1. 截屏的话就需要指定区域截屏,多余的部分就挺多余的。我们都不知道要截多少才刚好,除非能定位鼠标的位置,所以再问问AI
    在这里插入图片描述
import pyautogui  # 获取鼠标当前位置  
mouse_position = pyautogui.position()  print("鼠标当前位置:({0}, {1})".format(mouse_position[0], mouse_position[1]))
  1. 我们已经把截屏和保存的工作做完了,根据流程,我们需要通过按左右键进行前后翻页,那就再问问AI
    在这里插入图片描述
    这样我们就能实现翻页的功能。
    然后一直重复该操作,直到截屏结束
  2. 如何将图片拼接成PDF文件呢
    在这里插入图片描述
from PIL import Image  # 打开图片文件  
image = Image.open('image.jpg')  # 将图片保存为PDF文件  
image.save('output.pdf')

在这里插入图片描述

from PIL import Image  # 图片文件夹路径  
image_folder = r'F:\pdfscreenshot\inputscreenshot'  
# 获取图片文件夹中所有图片文件名  
image_files = [os.path.join(image_folder, f) for f in os.listdir(image_folder) if f.endswith('.jpg') or f.endswith('.png')]   # 创建新的空白图片,大小与第一张图片相同  
images = [Image.open(file) for file in image_files]  # 创建新的PDF文件并将图片添加到其中  
images[0].save('output.pdf', 'PDF', save_all=True, append_images=images[1:])
  1. 总结一下,AI Chat 可以大大的缩短我们检索的时间,同时也可以给我们提供更多的思路,但是却无法替代我们做完复杂的事情。这更像是造机器,AI Chat 不可能给我们造出符合我们需求的机器,只能给我们提供工具和零件,然后我们需要自己去设计和组装。
    在这里插入图片描述
查看全文

99%的人还看了

猜你感兴趣

版权申明

本文"利用AI Chat 将电子书自动截屏并保存成pdf文件":http://eshow365.cn/6-28978-0.html 内容来自互联网,请自行判断内容的正确性。如有侵权请联系我们,立即删除!