V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
爱意满满的作品展示区。
yuedanwork
V2EX  ›  分享创造

[迫于一次奇葩的需求] 分享一下 pdf 页面分割实现

  •  
  •   yuedanwork ·
    yuedanlabs · 2022-10-20 18:23:12 +08:00 · 2042 次点击
    这是一个创建于 768 天前的主题,其中的信息可能已经有所发展或是发生改变。

    项目

    为节约时间:

    • 感兴趣的可以直接点进链接跳转项目查看更多细节 👉 PDF Crop
    • 不感兴趣或者不需要的朋友,也可以选择性的浏览以下简介,或者到此为止返回首页。

    背景

    源于两天前收到一份巨大的思维导图 pdf 文件,想打印出来看的,但是手头只有普通打印机🖨️,最多 A4 ,文字巨小。。。

    于是就想把这份文件分割成多个连续的小份文件,打印到 A4 纸上,拼凑起来一起看。

    现成的技术方案也不是没有,wps 和 windows 版的福昕阅读器以及 Adobe 都可以实现该目的,但奈何 macos 下的福昕无此功能,wps 需要会员,Adobe 根本没用过,网上也有很多其他的现成工具,但都不放心。

    本着自己动手丰衣足食的态度,简单实现了所需功能。

    功能单一且简单,在此分享一下,仅供参考,有类似需求的小伙伴可作为一个参考或者直接使用。

    实现

    python + PyPDF2

    后续

    之前有打印发票的需求,也完成了一个 2 张或多张发票合并打印到同一张 A4 纸上的简单功能,后面有时间也一块儿合并上来。网上也有类似的现成解决方案,站内以前好像也有人推荐过,有需求可以直接搜往期帖子直接用线上。我是本着涉密文件不联网的目的去实现替代方案的😂

    暂时没时间整理了

    结尾

    摸了一下午🐟,要下班了,[逃~]

    菜🐔一枚 勿喷😂

    9 条回复    2022-10-21 10:33:05 +08:00
    mlhadoop
        1
    mlhadoop  
       2022-10-20 19:28:25 +08:00
    讲讲分页算法原理啊
    huntzhan
        2
    huntzhan  
       2022-10-20 20:13:25 +08:00
    如果只是为了打印,为什么不考虑一下转成图像然后按照 A4 的长宽比切分呢 [dog]
    feedcode
        3
    feedcode  
       2022-10-20 22:20:30 +08:00   ❤️ 2
    比起切割图像,pdf 更好操作,比如 A3 打印成 A4, 只要在原始页面创建 4 个引用,分别定义 4 个打印区域( CropBox )就可以了,新的文档大小并不会有太大变化,类似的 python 项目
    https://pdfposter.readthedocs.io/en/stable/Examples.html
    nexo
        4
    nexo  
       2022-10-20 23:37:38 +08:00
    用 chrome 打开 cmd + p 尺寸过大会自动分割
    vanton
        5
    vanton  
       2022-10-21 00:28:37 +08:00
    为啥不直接用 chrome 打印?
    723X
        6
    723X  
       2022-10-21 00:53:18 +08:00 via Android
    看了看楼上回复,我估计接下来 op 会后悔之前没先来 v2 提问😂
    supertan
        7
    supertan  
       2022-10-21 09:05:09 +08:00
    如果是自己用,属于脱裤子打屁;
    如果是面客,不是所有用户都有 Chrome 也不是有 Chrome 的都会操作
    @723X
    kele999
        8
    kele999  
       2022-10-21 09:23:35 +08:00
    好东西
    yuedanwork
        9
    yuedanwork  
    OP
       2022-10-21 10:33:05 +08:00
    @feedcode 确实是这样子的,然后迫于实现比较粗暴,可以无脑支持( m, n )份的切割😂

    @nexo
    @vanton
    @supertan chrome 优先试过,包括打印机的缩放,不行才想着自己去动手,
    @nexo 尤其这位朋友提到的自动分割 是不是对文档本身尺寸要求比较高,实际上我并没看到有自动分割呀

    @723X 没有提问 但是简单搜了一下,不过看了 3 楼朋友发的,确实能解决问题,之前知道的话,应该就直接用了 感谢 @feedcode 这位朋友



    东西就是这个么东西,属于及其小众的需求了,可能偶尔才会用到那么一两次...
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   6025 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 06:15 · PVG 14:15 · LAX 22:15 · JFK 01:15
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.