Coder Social home page Coder Social logo

pdf-reader's Introduction

MarkdownEditor

2020/10/06 17:12:35

修复了软件的最近文件的bug

软件中新增了一个markdown编辑器,给软件添加了笔记功能

markdown编辑器支持实时预览哦(编辑器窗口最右边可以拉出来一个预览窗口)。

弄了我好久,虽然核心都是利用的别人的CSS文件和解析库。(我就是名副其实的调包侠:sob:)

大幅改善了导入markdown为Pdf的效果

可能又会出现新的bug 😭

上次说的要实现的功能也没有做,我太懒了 😂

自定义设置

写于2020/10/06 10:40:55

对于当前版本

目录字体及其大小

self.toc.setFont(QFont("", 13))  # 目录文字的字体及其大小控制,修改字体将字体名放入双引号中(为空表示使用默认字体),字体大小修改数字即可,数字越大字体越大

目前位于main.py的第30行,之后的版本如果修改文件你可以通过直接搜索代码来修改

设置菜单栏字体及其大小:

self.menubar.setFont(QFont("", 13))  # 设置菜单栏字体大小

目前在main.py的175行

设置工具栏字体及其大小:

self.toolbar.setMinimumSize(QSize(200, 200))
self.toolbar.setIconSize(QSize(100, 100))  # 设置工具栏图标大小

目前位于main.py的183和184行

菜单栏同时显示图标和文字:

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、图片、HTMLmarkdown文档,程序将把其转换成pdf文件,并在转换完成后将其在阅读器中打开。

如果你要使用后两个导入功能的话,应该需要安装wkhtmltopdf软件(大概率要,但本人并未在别人电脑上测试),你可以根据软件的相关提示进行安装

遗憾的是,目前只有部分导入功能有进度条提示,如果要转换的文件较大的话,请耐心等待

导出文件

本程序支持导出目录为markdown文档,如果你也喜欢用markdown文档做笔记的话,本功能也许会给你带来一些便利。

本来还计划将目录导出为思维导图,但是生成的文件用我的xmind打开时显示损坏,也许是xmind版本的问题,也许是库的问题,于是就放弃了此功能

还支持导出为图片功能。但目前不支持选定范围,默认是将整个文件全部转成图片(这个问题是我刚刚才想到的,下次有空再弄吧)

还支持导出为htmltxtdocx文件。转换效果还行,不过总之有一些乱码和重叠的情况。

分享功能

你可以通过'发送到kindle'功能便捷的将当前打开的文件发送到指定的kindle邮箱。请根据软件的提示将相关邮箱添加到你的kindle的信任邮箱中。并且程序会记录你发送过的邮箱,下次使用可以直接通过下拉列表选择

你还可以分享到QQ微信,程序将自动把文件复制到你的剪贴板中,并为你弹出QQ微信的窗口。本来计划更加自动化的操作。但在使用相关模拟操作的时候,遇到了一些奇怪的问题,弄了半天也没能解决,所以只能支持简单的弹出窗口功能。并且弹出窗口功能需要你弹出QQ的快捷键为Ctrl+Alt+Z,弹出微信的Ctrl+Alt+W。如果你没有修改过QQ和微信的快捷键,并且没有其他程序占用这两个快捷键的话,理论上是可以直接使用的。

你还可以将文件分享到你的好友的邮箱,支持单个和多个好友。程序将调用你电脑上的outlook程序为你发送邮件。

上述两个发送邮件功能在发送完毕是会弹出窗口提示你的,但是可能等待时间会稍长,请耐心等待,这个过程并不影响你在程序中进行其他操作

主要的库

PyQt5UI的开发

fitz:与pdf文件相关的操作几乎都用的是它

软件截图

image-20201002175200662

image-20201002175325572

pdf-reader's People

Contributors

zhj12138 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.