请教如何将pdf电子书每一页都上下平均分成两半?
849 16
[1 楼] stalk012 [泡菜]
21-6-10 22:29
比如一本220页的pdf电子书,需要把其中的每一页都上下均匀地分开,形成两个单独的文件,最后共有440个文件。
请问要如何实现?
如下图所示。
[17 楼] uufly898 [泡菜]
21-6-15 14:50
Quite Imposing Plus
[16 楼] Tianmou [资深泡菜]
21-6-15 05:16
如果分开的位置都一样,可以试试用PHOTOSHOP动作
[15 楼] 19541954 [泡菜]
21-6-14 17:42
老鼠不相往来 发表于 2021-6-14 10:19
如果原pdf页面大小尺寸不统一,需单独计算每页大小

import fitz
# 打开原文件
src = fitz.open(r"1.pdf")
# 逐页处理
for pn in range(0, src.pageCount):
    # 上半区域
    recttop = fitz.Rect(0, 0, src[pn].rect.width, src[pn].rect.height/2)
    # 下半区域
    rectbottom = fitz.Rect(0, src[pn].rect.height/2,src[pn].rect.width, src[pn].rect.height)
    # 创建上半页新文档
    doc = fitz.open()


学习了,多谢多谢
[14 楼] 林上化大 [注销用户]
21-6-14 15:50
用户已注销,历史内容不予显示
[13 楼] 老鼠不相往来 [泡菜]
21-6-14 10:19
如果原pdf页面大小尺寸不统一,需单独计算每页大小

import fitz
# 打开原文件
src = fitz.open(r"1.pdf")
# 逐页处理
for pn in range(0, src.pageCount):
    # 上半区域
    recttop = fitz.Rect(0, 0, src[pn].rect.width,src[pn].rect.height/2)
    # 下半区域
    rectbottom = fitz.Rect(0, src[pn].rect.height/2,src[pn].rect.width, src[pn].rect.height)
    # 创建上半页新文档
    doc = fitz.open()
    # 创建新页面
    page = doc.new_page(-1, width=src[pn].rect.width,height=src[pn].rect.height/2)
    # 复制上半页
    page.showPDFpage(recttop, src, pn, clip=recttop, rotate=0)
    # 保存并退出
    doc.save("out{0}_1.pdf".format(pn))
    doc.close()
    # 创建下半页新文档
    doc = fitz.open()
    # 创建新页面
    page = doc.new_page(-1, width=src[pn].rect.width,height=src[pn].rect.height/2)
    # 复制下半页
    page.showPDFpage(recttop, src, pn, clip=rectbottom, rotate=0)
    # 保存并退出
    doc.save("out{0}_2.pdf".format(pn))
    doc.close()
# 关闭原文档
src.close() 本帖最后由 老鼠不相往来 于 2021-6-14 10:41 编辑
[12 楼] 老鼠不相往来 [泡菜]
21-6-14 10:10
import fitz

# 打开原文件

src = fitz.open(r"1.pdf")

# 上半区域
recttop = fitz.Rect(0, 0, src[0].rect.width, src[0].rect.height/2)
# 下半区域
rectbottom = fitz.Rect(0, src[0].rect.height/2,
                       src[0].rect.width, src[0].rect.height)

# 逐页处理
for i in range(0, src.pageCount):
    # 创建上半页新文档
    doc = fitz.open()
    # 创建新页面
    page = doc.new_page(-1, width=src[0].rect.width,
                        height=src[0].rect.height/2)
    # 复制上半页
    page.showPDFpage(recttop, src, i, clip=recttop, rotate=0)
    # 保存并退出
    doc.save("out{0}_1.pdf".format(i))
    doc.close()
    # 创建下半页新文档
    doc = fitz.open()
    # 创建新页面
    page = doc.new_page(-1, width=src[0].rect.width,
                        height=src[0].rect.height/2)
    # 复制下半页
    page.showPDFpage(recttop, src, i, clip=rectbottom, rotate=0)
    # 保存并退出
    doc.save("out{0}_2.pdf".format(i))
    doc.close()

# 关闭原文档
src.close()
[11 楼] 老鼠不相往来 [泡菜]
21-6-14 10:10
老鼠不相往来 发表于 2021-6-14 08:46
万能的python肯定可以的

使用fitz库

python 3.8.5下运行通过,需要安装3个库

pip install frontend
pip install fitz
pip install PyMuPDF

[10 楼] CATWK [泡菜]
21-6-14 08:55
这种另类需求没有通用软件可以用,自己做一个吧
[9 楼] 老鼠不相往来 [泡菜]
21-6-14 08:46
万能的python肯定可以的

使用fitz库
发布自 安卓客户端
[8 楼] ideas2 [禁言中]
21-6-13 08:35
pdf xchange,处理pdf没有比这个功能更全的了。
本公司买的xchange正版装每人办公电脑。发觉太好使,我自己又弄了一个装家里电脑。
编辑于:2021-06-13 08:37:21
[7 楼] netfish0228 [泡菜]
21-6-13 04:50
迅捷pdf编辑器了解一下,收费软件,偶尔用的话咸鱼租一天账号就行,水平或垂直拆分都可以
发布自 安卓客户端
[6 楼] 林上化大 [注销用户]
21-6-12 15:07
用户已注销,历史内容不予显示
[5 楼] lzc463 [资深泡菜]
21-6-11 18:12
若是文字版,就导出Word重排,或者直接用具有重排功能的软件阅读,不改变文件。
若是图片版,可以用裁切功能,譬如acrobat pro版,复制成两份,一份切下,一份切上。输出,重排,再组合。
[4 楼] 一箩头 [泡菜]
21-6-11 16:08
第一步:用“Adobe Acrobat X Pro”将PDF文件另存为jpg图片。
第二步:用Ps制作一个“裁剪”批处理,将上述jpg图片每一个都一分为二。(我不会,行不行不知道。)

更可取的是:如果能将PDF转换成Word文档,在Word文档里修改纸型,重新转换为PDF,再将PDF文件另存为图片。 本帖最后由 一箩头 于 2021-6-11 16:12 编辑
[3 楼] wzqzh [泡菜]
21-6-11 15:44
Foxit Phantom这个软件可以,里面有裁剪功能。
[2 楼] luckcat [资深泡菜]
21-6-11 11:18
先导出成Word,分页完以后,再重新导成PDF。
需要用到Acrobat Pro,或者其它的转格式工具。