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

2022-10-20 18:23:12 +08:00
 yuedanwork

项目

为节约时间:

背景

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

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

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

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

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

实现

python + PyPDF2

后续

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

暂时没时间整理了

结尾

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

菜🐔一枚 勿喷😂

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

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

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



东西就是这个么东西,属于及其小众的需求了,可能偶尔才会用到那么一两次...

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/888498

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX