Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

CAJ2PDF中依赖PyPDF2版本过旧引发的错误,以及转换成的PDF文件中,目录无法正常跳转和文字被转换为图片 #2

Open
liwenbo92 opened this issue Oct 21, 2022 · 0 comments

Comments

@liwenbo92
Copy link

除非特殊情况,请完整填写所有问题。不按模板发的 issue 将直接被关闭。
如果你遇到的问题不是 bug,比如你不清楚要如何配置,请使用Discussion进行讨论。

  1. 你正在使用哪个版本的 CAJ2PDF?
    pip安装的caj2pdf-restructured,版本0.1.0a6

  2. 你的使用场景是什么?比如convert还是其他。
    caj转换pdf

  3. 你看到的不正常的现象是什么?(请描述具体现象,比如PDF打不开等)
    有几处小问题,无法正常使用。解决小问题后,知网下载的caj转换出pdf,目录无法跳转到相应页面,文字应该是图片

  4. 你期待看到的正确表现是怎样的?
    PDF目录正常,文字可以选取

  5. 请附上你的配置(Python版本、Python包版本以及mutools版本)。
    Ubuntu 22.04, Python (3.10.6), PyPDF2 (2.11.1), mutools (1.19.0+ds1-2).

  6. 请使
    files.zip
    用××ZIP××格式压缩CAJ文件,附在此处。

  7. 请附上出错时软件输出的错误信息。

我说下错误。我直接按照https://github.com/zombie110year/caj2pdf-restructured 中针对Ubuntu安装的说明进行安装操作。完成
sudo apt install build-essential libpoppler-dev mupdf-tools
pip install caj2pdf-restructured
之后,显然由于没有PyPDF2无法正常使用。文中没有指明PyPDF2的安装途径,我只能默认从pip中安装,我安装的版本为PyPDF2(2.11.1)。然后,运行程序中发现下列问题(由于版本问题,很多module的名字都变了)

  1. cajparser.py文件中
    from PyPDF2.utils import PdfReadError
    应替换为
    from PyPDF2.errors import PdfReadError

  2. utils.py文件中
    import PyPDF2.pdf as PDF
    应替换为
    import PyPDF2.generic as PDF

此外,鉴于错误“fatal error: JBIG2Stream.h: No such file or directory”,我意识到github页面可能遗漏了一些软件包,我安装了些poppler的包以后就解决了此错误。我猜想应该需要:
sudo apt install libpoppler-cpp-dev

最后,我对于附件中的caj文件的转换效果非常不好,我同时附上了转换后的output.pdf文件。

十分感谢程序员编写本程序。然而目前使用体验确实让我失望。

zombie110year added a commit that referenced this issue Nov 21, 2022
1. 升级了 PyPDF2 并且更新了 import 语句
2. 修改 build.py 以满足 pdm build 的 PEP517 兼容要求
3. 移动了 Windows 中的 dll 文件,避免在 Linux 中错误地打包
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant