合并发票(A4纸一页两张)(适用于标准A5发票)

部署运行你感兴趣的模型镜像

前提:需要有python环境

新建文件夹mergePDF存放以下文件:

1、命名为“docpath”的文件夹
2、conformityPDF.txt
3、conformity.txt

  1. 将以下代码复制到conformityPDF.txt中,并根据实际需求修改代码行中docpath和destpath 双引号中的内容,路径中的 “\” 需要替换成 “\”
# 二合一,横版的A4两个合成
import fitz
import os

docpath = "D:\\document\\invoice\\conformityPDF\\mergePDF\\docpath\\"
#修改此处,需要合并的发票的路径
destpath = "D:\\document\\invoice\\conformityPDF\\mergePDF\\" 
#修改此处,生成的合并后的文件存放位置

files1 = os.listdir(docpath)
files = []
for filename in files1:
    if (filename[-4::] == '.pdf'):
        files.append(filename)
print(files)

doc = fitz.open()
# A4 纸张尺寸(毫米)  
a4_width_mm = 210  
a4_height_mm = 297  

# 将毫米转换为点(1英寸 = 25.4毫米, 1英寸 = 72点, 因此 1毫米 ≈ 72 / 25.4 点)  
a4_width = a4_width_mm * (72 / 25.4)  
a4_height = a4_height_mm * (72 / 25.4)  
  
# 对于横向 A4,交换宽度和高度  
height = a4_height  
width = a4_width  


#width,height = fitz.PaperSize("A4") #横向
spaceHorizontal = 0.3 * 0.3937 * 72 #0.3厘米
spaceVertical = 0.3 * 0.3937 * 72
marginLeft = 1.448 * 0.3937 * 72
#marginRight = 0.296 * 0.3937 * 72
marginRight = 1.448 * 0.3937 * 72
marginTop = 0.296 * 0.3937 * 72
marginBottom = 0.296 * 0.3937 * 72

widthPannel = (width - marginLeft - marginRight)
heightPannel = (height - spaceVertical - marginTop - marginBottom) / 2

r1 = fitz.Rect(marginLeft,marginTop,marginLeft + widthPannel,marginTop + heightPannel)
r2 = fitz.Rect(marginLeft,marginTop + heightPannel + spaceVertical,
                marginLeft + widthPannel,marginTop + 2 * heightPannel + spaceVertical)

textPoint = fitz.Point(width * 0.6,height * 0.97)

r_tab = [r1,r2]

panelCount = 0
for filename in files:
    src = fitz.open(docpath + filename)
    for i in range(0,src.page_count):
        if panelCount % 2 == 0:
            page = doc._newPage(-1,width=width,height=height)

        page.show_pdf_page(r_tab[panelCount % 2],src,i)
        panelCount = panelCount + 1

doc.save(destpath + "merge.pdf",garbage=3,deflate=True)

保存后退出,将conformityPDF.txt修改为conformityPDF.py

  1. 将以下代码复制到conformity.txt中
call python conformityPDF.py
cmd /k

保存后退出,将conformity.txt修改为conformity.bat

  1. 最后文件夹下有这三个文件
    mergePDF文件夹下有这三个文件
    如果看不到文件后缀可参考
    查看修改文件扩展名
  2. 将需要合并的发票放到文件夹docpath中,然后双击运行“conformity.bat”即可生成发票合并后的文件merge.pdf。

您可能感兴趣的与本文相关的镜像

Python3.8

Python3.8

Conda
Python

Python 是一种高级、解释型、通用的编程语言,以其简洁易读的语法而闻名,适用于广泛的应用,包括Web开发、数据分析、人工智能和自动化脚本

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值