import tkinter as tk from tkinter import filedialog from typing import Union, Tuple from reportlab.lib import units from reportlab.pdfgen import canvas from reportlab.pdfbase import pdfmetrics from reportlab.pdfbase.ttfonts import TTFont from PyPDF4 import PdfFileWriter, PdfFileReader from typing import List from pikepdf import Pdf, Page, Rectangle import PyPDF4 from pdf2docx import Converter import datetime pdfmetrics.registerFont(TTFont('msyh', r'./msyh.ttc')) ''' 用于生成包含content文字内容的水印pdf文件 content: 水印文本内容 filename: 导出的水印文件名 width: 画布宽度,单位:mm height: 画布高度,单位:mm font: 对应注册的字体代号 fontsize: 字号大小 angle: 旋转角度 text_stroke_color_rgb: 文字轮廓rgb色 text_fill_color_rgb: 文字填充rgb色 text_fill_alpha: 文字透明度 ''' # 创建主窗口 root = tk.Tk() root.title("PDF使用小工具byZY") root.geometry('425x150') # 创建文本输入框 label = tk.Label(root, text="水印:文本框输入水印文字,点击开始添加水印按钮\n删除或保留页码:文本框输入需要删除或保留的页码,点击删除或保留页\n如1,3,5,7,9使用英文逗号分隔") label.pack() entry = tk.Entry(root) entry.pack() def get_input_text(): entered_text = entry.get() # print("Entered text:", entered_text) return entered_text def create_wartmark(content: str, filename: str, width: Union[int, float], height: Union[int, float], font: str, fontsize: int, angle: Union[int, float] = 45, text_stroke_color_rgb: Tuple[int, int, int] = (0, 0, 0), text_fill_color_rgb: Tuple[int, int, int] = (0, 0, 0), text_fill_alpha: Union[int, float] = 1) -> None: # 创建PDF文件,指定文件名及尺寸,以像素为单位 c = canvas.Canvas(f'{filename}.pdf&
pdf小工具
最新推荐文章于 2024-07-12 16:16:27 发布