首页 > 系统相关 >Power Shell 7 批量给pdf添加页码

Power Shell 7 批量给pdf添加页码

时间:2025-01-14 15:46:51浏览次数:1  
标签:Shell Power text dll iTextSharp Path pdf outputFolder

# 批量给pdf添加页码
# 导入必要的程序集
Add-Type -AssemblyName System.Drawing
Add-Type -AssemblyName System.Windows.Forms
# 加载 iTextSharp.dll

# 假设iTextSharp.dll位于C:\path\to\iTextSharp目录
$iTextSharpPath = "C:\Users\Administrator\source\repos\ConsoleApp2\packages\iTextSharp.5.5.13.4\lib\net461\iTextSharp.dll"
# 加载iTextSharp.dll
Add-Type -Path $iTextSharpPath
# 假设BouncyCastle的DLL位于C:\path\to\BouncyCastle目录
$bouncyCastlePath = "C:\Python34\psLib\BouncyCastle.Cryptography.dll"

# 加载BouncyCastle.Crypto.dll
Add-Type -Path $bouncyCastlePath


# 定义PDF处理函数
function Add-PdfPageNumbers {
    param (
        [string]$inputFolder,
        [string]$outputFolder
    )

    # 确保输出文件夹存在
    if (-Not (Test-Path -Path $outputFolder)) {
        New-Item -ItemType Directory -Path $outputFolder | Out-Null
    }

    # 获取所有PDF文件
    $pdfFiles = Get-ChildItem -Path $inputFolder -Filter *.pdf

    foreach ($pdfFile in $pdfFiles) {
        $inputFilePath = $pdfFile.FullName
        $outputFilePath = Join-Path -Path $outputFolder -ChildPath $pdfFile.Name

        # 打开PDF文档
        $pdfDocument = [iTextSharp.text.pdf.PdfReader]::new($inputFilePath)
        $pageCount = $pdfDocument.NumberOfPages

        # 创建PDF写入器
        $pdfStamper = [iTextSharp.text.pdf.PdfStamper]::new($pdfDocument, [System.IO.File]::Create($outputFilePath))

        # 设置字体
        $baseFont = [iTextSharp.text.pdf.BaseFont]::CreateFont([iTextSharp.text.pdf.BaseFont]::HELVETICA, [iTextSharp.text.pdf.BaseFont]::WINANSI, $false)
        $fontSize = 12

        for ($i = 1; $i -le $pageCount; $i++) {
            $pdfContentByte = $pdfStamper.GetOverContent($i)
            $pdfContentByte.BeginText()
            $pdfContentByte.SetFontAndSize($baseFont, $fontSize)
            $pdfContentByte.ShowTextAligned([iTextSharp.text.pdf.PdfContentByte]::ALIGN_CENTER, "Page $i of $pageCount", 520, 20, 0)
            $pdfContentByte.EndText()
        }

        # 关闭PDF写入器
        $pdfStamper.Close()
        $pdfDocument.Close()
    }
}

# 调用函数,指定输入和输出文件夹路径
$inputFolder = "C:\Users\Administrator\Desktop\Sign\SO2411160009-3\1BB0110A"
$outputFolder = "C:\Users\Administrator\Desktop\Sign\SO2411160009-3\1BB0110A\output"
Add-PdfPageNumbers -inputFolder $inputFolder -outputFolder $outputFolder

 

标签:Shell,Power,text,dll,iTextSharp,Path,pdf,outputFolder
From: https://www.cnblogs.com/Tonyyang/p/18670890

相关文章

  • LLM大模型入门必读免费白皮书《从头训练大模型最佳实践》免费pdf分享
    本书介绍《CurrentBestPracticesforTrainingLLMsfromScratch》是由Weights&Biases(W&B)提供的一份关于从头开始训练大型语言模型(LLMs)的权威指南。这份白皮书深入剖析了LLMs训练的最佳实践,内容覆盖了从数据收集与处理、模型架构选择、训练技巧与优化策略,到模型评估......
  • 在 PowerShell 中,管理 Active Directory 域服务(AD DS)涉及到很多命令,这些命令可以根据
    在PowerShell中,管理ActiveDirectory域服务(ADDS)涉及到很多命令,这些命令可以根据不同的功能进行分类。下面是一个按功能分类的PowerShell命令表格,帮助你快速找到相关命令。功能分类命令描述域和信任管理Get-ADDomain获取当前域的配置信息。 Set-ADDomain......
  • 免费不可错过的实用pdf转图片工具
    免费不可错过的实用pdf转图片工具今天给大家介绍一个非常厉害的pdf转图片工具,这个软件完全免费,没有任何的广告。PDF2Jpg.exe软件下载之后解压就可以直接使用的,无需安装。界面也是非常的简洁下载软件后,直接双击运行即可,操作非常简单,直接拖入需要转换为图片的pdf文件,然......
  • linux服务器: Shell文件,注释,变量
    Shell文件Shell是一个用户跟操作系统之间的一个命令解释器创建shell文件编写内容#!/bin/bash:这是一个shebang行,告诉系统这个脚本应该使用bashshell来执行。#是一个注释字符,用于说明这行的作用。echo命令,用于在终端输出文本执行脚本1.给文件执行......
  • PowerJob——新一代的定时任务框架!
    最近项目中使用了PowerJob做任务调度模块,感觉这个框架真香,今天我们就来深入了解一下新一代的定时任务框架——PowerJob!简介PowerJob是基于java开发的企业级的分布式任务调度平台,与xxl-job一样,基于web页面实现任务调度配置与记录,使用简单,上手快速,其主要功能特性如下:使用简单......
  • pdf怎么转换成word?记住这个网站 就可以免费在线转换PDF文件
    pdf怎么转换成word?记住这个网站就可以免费在线转换PDF文件。PDF(PortableDocumentFormat)文件因其跨平台兼容性和保持文档原貌的特性而被广泛使用。然而,在需要编辑文档内容时,将其转换为Word格式则显得尤为重要。以下介绍几种将PDF转换成Word的简易方法。第一种:选择使用专业......
  • oracle12.2.0.1交互快速部署脚本(shell)
    背景有些项目会用到oracle,以前大佬写的脚本不好用,拿来改一改,能用起来先,回头再适配更高版本的oracle。如果使用过程中有什么问题,还请批评指正。脚本#!/bin/bash####################Steup1Installoraclesoftware#####################script_name:oracle12.2.0.1_inst......
  • Powershell-2学习笔记
    声明!学习视频来自B站up主**泷羽sec**有兴趣的师傅可以关注一下,如涉及侵权马上删除文章,笔记只是方便各位师傅的学习和探讨,文章所提到的网站以及内容,只做学习交流,其他均与本人以及泷羽sec团队无关,切勿触碰法律底线,否则后果自负!!!!有兴趣的小伙伴可以点击下面连接进入b站主页[B站......
  • Xshell 远程连接软件
    哈喽啊亲们!今天也是快乐牛马的一天,小橘已经连续加班两天了,深刻体会到了这年头牛马的含义。言归正传,今天跟大家聊聊Xshell这个工具吧。xshell远程连接必备信息IP地址 端口号 用户名 密码 IP地址●IP地址是服务器的身份证号,在局域网内唯一;●公网IP:公网又......
  • 前端实现 HTML 网页转 PDF 并导出
    有个新需求,当点击【下载】按钮时,直接将当前html页面下载为PDF。通过html2canvas+jsPDF可实现PDF单页下载,甚至是多页下载,记录分享一下~最后有源码,可自取......