# pdf-reader **Repository Path**: quarky/pdf-reader ## Basic Information - **Project Name**: pdf-reader - **Description**: No description available - **Primary Language**: Python - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2024-09-27 - **Last Updated**: 2024-09-27 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README ### MarkdownEditor 2020/10/06 17:12:35 修复了软件的最近文件的bug 软件中新增了一个markdown编辑器,给软件添加了笔记功能 markdown编辑器支持实时预览哦(编辑器窗口最右边可以拉出来一个预览窗口)。 弄了我好久,虽然核心都是利用的别人的`CSS`文件和解析库。(我就是名副其实的调包侠:sob:) 大幅改善了导入markdown为Pdf的效果 可能又会出现新的bug :sob: 上次说的要实现的功能也没有做,我太懒了 :joy: ### 自定义设置 写于2020/10/06 10:40:55 **对于当前版本** #### 目录字体及其大小 ```python self.toc.setFont(QFont("", 13)) # 目录文字的字体及其大小控制,修改字体将字体名放入双引号中(为空表示使用默认字体),字体大小修改数字即可,数字越大字体越大 ``` 目前位于`main.py`的第30行,之后的版本如果修改文件你可以通过直接搜索代码来修改 #### 设置菜单栏字体及其大小: ```python self.menubar.setFont(QFont("", 13)) # 设置菜单栏字体大小 ``` 目前在`main.py`的175行 #### 设置工具栏字体及其大小: ```python self.toolbar.setMinimumSize(QSize(200, 200)) self.toolbar.setIconSize(QSize(100, 100)) # 设置工具栏图标大小 ``` 目前位于`main.py`的183和184行 #### 菜单栏同时显示图标和文字: ```python self.toolbar.setToolButtonStyle(Qt.ToolButtonTextBesideIcon) # 文字在图标旁边 self.toolbar.setToolButtonStyle(Qt.ToolButtonTextUnderIcon) # 文字在图标下方 # 不设置以上两句话默认只显示图标 ``` 在`main.py`的184行添加相应的代码即可 #### 设置图标 请根据你想要设置的图标的`提示文字`在`main.py`中搜索,找到`QIcon('')`语句,在引号内放入自己的图标路径,绝对路径和相对路径均可。 为了方便管理,你可以放入icon目录下采用相对路径。或者你也可以直接替换原有的图标 #### 打包 你在修改完代码之后,可以通过pyinstaller打包文件 最好是新建一个虚拟环境,下载好代码所需的库,然后再在虚拟环境中新下载一个pyinstaller后进行打包 不新建不新建虚拟环境也能打包,但会导致打包出来的exe文件过大(现在100多M的安装包就是我不新建虚拟环境导致的:sob:) 下载好后在命令行中输入以下指令: ``` pyinstaller -Fw main.py ``` 耐心的等待打包完成后,你就可以在多出来的`dist`目录下找到`main.exe`,将它复制到你想要的位置,并将`icon`目录也复制过去 你就可以开始使用这个软件了 ----------------------------------------- ### :happy: 非常的开心与激动,这是我第一次在`github`上发布一个较为完整的项目。 写下此句话的时间为:2020/10/02 15:56:07 ### 软件介绍 这是一个用`Python`开发的`pdf`阅读器,是软A项目的附加软件(虽然现在主程序几乎可以说还没有开始:joy:,只完成了类和数据库模块的编写) ### 软件功能 #### 阅读 你可以通过此软件阅读`pdf`文档,但本程序并不提供任何的编辑功能,所有的页面都是以图片形式展示出来的。(目前本人也做不出来) #### 目录 `pdf`文件在导入时,程序会自动获取目录,你可以像其他的`pdf`阅读器一样通过点击目录跳转页面。但这个版本并不提供修改目录功能,本人计划在之后的版本支持此功能(但还得看时间是否充足,因为主程序还没弄好,又快到检查的时间了:sob:) #### 最近文件 你可以在文件菜单栏的最近文件查看你最近打开的文件,并且通过点击打开相应文件 #### 添加删除页面 你可以通过工具栏或菜单栏的相关按钮来修改当前打开的文件,支持添加图片为页面:如果你想要添加多张图片的话,可以选择'添加多张图片'或'导入目录下所有图片'选项;还支持添加另一个`pdf`文件的页面到当前文件中。 如果你想要删除当前页面的话,点击工具栏的垃圾桶按钮即可 请注意,添加删除操作只有你点击保存文件后才会作用到原文件,不保存就退出的话将丢失你的修改 非常遗憾,目前软件并不会在你退出时提醒你保存文件,如果后面时间充足的话,我将加入此功能。 软件目前也没有另存为`pdf`功能,我将在下个版本加入此功能(如果我没忘的话:joy:) #### 导入文件 本程序支持导入`docx`、图片、`HTML`、`markdown`文档,程序将把其转换成`pdf`文件,并在转换完成后将其在阅读器中打开。 如果你要使用后两个导入功能的话,应该需要安装`wkhtmltopdf`软件(大概率要,但本人并未在别人电脑上测试),你可以根据软件的相关提示进行安装 遗憾的是,目前只有部分导入功能有进度条提示,如果要转换的文件较大的话,请耐心等待 #### 导出文件 本程序支持导出目录为`markdown`文档,如果你也喜欢用`markdown`文档做笔记的话,本功能也许会给你带来一些便利。 本来还计划将目录导出为思维导图,但是生成的文件用我的`xmind`打开时显示损坏,也许是`xmind`版本的问题,也许是库的问题,于是就放弃了此功能 还支持导出为图片功能。但目前不支持选定范围,默认是将整个文件全部转成图片(这个问题是我刚刚才想到的,下次有空再弄吧) 还支持导出为`html`、`txt`、`docx`文件。转换效果还行,不过总之有一些乱码和重叠的情况。 #### 分享功能 你可以通过'发送到kindle'功能便捷的将当前打开的文件发送到指定的`kindle`邮箱。请根据软件的提示将相关邮箱添加到你的`kindle`的信任邮箱中。并且程序会记录你发送过的邮箱,下次使用可以直接通过下拉列表选择 你还可以分享到`QQ`和`微信`,程序将自动把文件复制到你的剪贴板中,并为你弹出`QQ`或`微信`的窗口。本来计划更加自动化的操作。但在使用相关模拟操作的时候,遇到了一些奇怪的问题,弄了半天也没能解决,所以只能支持简单的弹出窗口功能。并且弹出窗口功能需要你弹出QQ的快捷键为`Ctrl+Alt+Z`,弹出微信的`Ctrl+Alt+W`。如果你没有修改过QQ和微信的快捷键,并且没有其他程序占用这两个快捷键的话,理论上是可以直接使用的。 你还可以将文件分享到你的好友的邮箱,支持单个和多个好友。程序将调用你电脑上的`outlook`程序为你发送邮件。 上述两个发送邮件功能在发送完毕是会弹出窗口提示你的,但是可能等待时间会稍长,请耐心等待,这个过程并不影响你在程序中进行其他操作 ### 主要的库 `PyQt5`:`UI`的开发 `fitz`:与`pdf`文件相关的操作几乎都用的是它 ### 软件截图 ![image-20201002175200662](https://gitee.com/snow_zhao/img/raw/master/img/image-20201002175200662.png) ![image-20201002175325572](https://gitee.com/snow_zhao/img/raw/master/img/image-20201002175325572.png)