首页 > 其他分享 >使用pdftk为pdf加页码

使用pdftk为pdf加页码

时间:2024-05-26 22:44:33浏览次数:16  
标签:pdftk mm output pdf 页码 def

Table of Contents


1. 前言

在正式公文中对页码的设置是有要求的,即使内容是横版的情况下,页码的位置也要位竖版 页面的左下角或者右下角。使用 WPS 或者 Word 编辑文档时是无法直接达到要求,所以一 般需要删除所有页码,而后使用其他合适工具编辑页码。

以前我一般使用 Foxit PDF Editor 来编辑页码也算方便,现如今使用 Kylin OS ,购买的 正版的福昕PDF编辑器居然无法编辑 pdf 文件,着实有点雷人。通过研究,终于找到一种在 linux 系统下可行的方法,即 pdftk。

2. pdftk

使用 pdftk 编辑 pdf 用得最多主要是以下几种场合:

2.1. 合并

pdftk A=even.pdf B=odd.pdf shuffle A B output collated.pdf
#如果偶数页是倒序的
pdftk A=even.pdf B=odd.pdf shuffle A Bend-1 output collated.pdf

2.2. 旋转

#Rotate the first PDF page to 90 degrees clockwise
pdftk in.pdf cat 1east 2-end output out.pdf

#Rotate an entire PDF document to 180 degrees
pdftk in.pdf cat 1-endsouth output out.pdf

2.3. 加背景

# Pdftk 只使用背景 pdf 的第一页,应用于输入 pdf 的每一页上,页面会缩放和
# 旋转以适合输入 pdf 文件。

pdftk in.pdf background back.pdf output out.pdf

# 背景 pdf 的每一页应用于要处理文件的对应页上,如果输入 pdf 比背景 pdf 页数多,
# 背景 pdf 的最后一页会应用于输入 pdf 的剩余页上。

pdftk in.pdf multibackground back.pdf output out.pdf

2.4. 加遮罩

#与 background 相同,只是 stamp 放于前景
pdftk in.pdf stamp back.pdf output out.pdf
pdftk in.pdf multistamp back.pdf output out.pdf

背景和遮罩功能都可用于修改页码,前提是需要准备好作为背景和遮罩的 pdf 文件。

3. 准备页码文件

3.1. 使用 WPS 或者 Word

最简单的方法是使用 WPS 或者 Word 的另存为 pdf 功能制作一个相同页面大小的纵向排版 的只有页码的pdf 文件。优点是自由度高,页码设置效果可见。

3.2. 使用 PostScript 脚本及 ps2pdf

如果加页码的文件多或者页数多的情况,比如你有一个1000页以上的 Word 表格,想要生成 一个对应的竖页空白仅含页码的 pdf 就比较困难了,此时使用 PostScript 脚本的方式就 要方便很多。下面是一个 PostScript 文件模板:

%!PS
/pagewidth_by_mm 210 def
/pageheight_by_mm 297 def
/left_margin_by_mm 28 def
/right_margin_by_mm  pagewidth_by_mm 26 sub def
/bottom_start_by_mm 24 def
/fontsize 14 def
/maxpagenum 20 def 

/mm2inch {
    72 mul 25.4 div
} def

/height_start {
    bottom_start_by_mm mm2inch
} def 

/pagewidth {
    pagewidth_by_mm mm2inch
} def

/pageheight {
    pageheight_by_mm mm2inch
} def

/left_start {
    left_margin_by_mm mm2inch
} def

/right_margin {
    right_margin_by_mm mm2inch
} def

<< /PageSize [pagewidth pageheight] >> setpagedevice
(simsun.ttc) fontsize selectfont
%/Helvetica 12 selectfont

/glyphlist [ /zero /one /two /three /four /five /six /seven /eight /nine ] def

/tmpstr {
    6 string
} def

/len {
    10 tmpstr cvrs length 1 sub
} def 

/glypharray {
    6 array
} def 

/num2glyph {
    dup
    len -1 0 {
        pop
        dup
    } for len -1 0 {10 exch exp 2 -1 roll exch div floor cvi 10 mod glyphlist exch get glyphshow } for
} def 

/pstrlen {
    0 -50 moveto
    currentpoint
    pop
    exch
    /hyphenmonospace glyphshow
    num2glyph
    /hyphenmonospace glyphshow
    currentpoint
    pop
    exch
    sub
} def 

/mkpage {
    dup 
    dup
    2 mod 1 eq {
        pstrlen right_margin exch sub height_start moveto
    } {
        left_start height_start moveto
    } ifelse
    /hyphenmonospace glyphshow
    num2glyph
    /hyphenmonospace glyphshow
    showpage
} def

1 1 maxpagenum {
    mkpage 
} for 

使用方法是新建一个后缀为 ".ps" 的空文本文件,将代码复制后粘贴其中,而后根据需要 修改参数和字体,最后运行以下命令将其转换成 pdf 文件。

gs -P -dNOPAUSE -dBATCH -sDEVICE=pdfwrite -sOutputFile=output.pdf input.ps 

关于 PostScript 学习体会见下一篇文章。


本作品采用知识共享署名-非商业性使用-禁止演绎 3.0 未本地化版本许可协议 进行许可。

标签:pdftk,mm,output,pdf,页码,def
From: https://www.cnblogs.com/bu-wu-zheng-ye/p/18214448

相关文章

  • 区块链论文总结速读--CCF A会议 USENIX Security 2024 共7篇 附pdf下载
    Conference:33rdUSENIXSecuritySymposiumCCFlevel:CCFACategories:网络与信息安全Year:2024Num:71Title: PracticalSecurityAnalysisofZero-KnowledgeProofCircuits零知识证明电路的实用安全分析Authors: HongboWen, UniversityofCalifornia,Santa......
  • 大模型最新黑书:大模型应用解决方案: 基于GPT-3、ChatGPT、GPT-4等Transformer架构的自
    今天给大家推荐一本丹尼斯·罗斯曼(DenisRothman)编写的关于大语言模型(LLM)权威教程<<大模型应用解决方案>基于GPT-3、ChatGPT、GPT-4等Transformer架构的自然语言处理>!Google工程总监AntonioGulli作序,这含金量不用多说,在这里给大家强烈推荐一下这本黑书,下面直接开始介绍!......
  • [pdf,epub]《软件方法》2024版电子书共290页(202405更新)
    DDD领域驱动设计批评文集做强化自测题获得“软件方法建模师”称号《软件方法》各章合集已上传本账号CSDN资源。或者到以下链接下载:http://www.umlchina.com/url/softmeth2024.html,或点击“阅读原文”。如果需要提取码:umlc已排版成适合手机阅读。......
  • 【专题】2024体验赋能企业出海白皮书报告合集PDF分享(附原数据表)
    原文链接:https://tecdat.cn/?p=36251原文出处:拓端数据部落公众号在全球化浪潮日益汹涌的商业环境中,出海企业正面临着前所未有的机遇与严峻挑战。面对产品和服务日益同质化的问题,企业如何在国际市场上独树一帜?答案并非仅仅依赖于创新和成本控制。如今,以“体验+品牌”为核心的战......
  • 【专题】2023年中国跨境电商平台出海白皮书报告PDF合集分享(附原数据表)
    原文链接:https://tecdat.cn/?p=34454原文出处:拓端数据部落公众号自九十年代以来,中国跨境电商已经经历了四个发展阶段,其中B2C跨境电商有望在2022年后迎来高峰。阅读原文,获取专题报告合集全文,解锁文末372份跨境电商出海相关行业研究报告。通过分析B2C跨境电商市场的发展驱动因子,......
  • 【专题】2024抖音春日热点报告-餐饮篇报告合集PDF分享(附原数据表)
    原文链接:https://tecdat.cn/?p=35422原文出处:拓端数据部落公众号2023年,中国经济表现稳健,零售消费稳定增长,尤其国内旅游市场迅速回暖,人们出行频率回升,酒店、餐饮和旅游服务的消费需求稳步攀升,为相关行业复苏提供了强大动力。据文化和旅游部数据显示,全年国内旅游总人次和收入均实......
  • Mobi怎样转PDF?这3种方法教你快速实现
    从Mobi格式到PDF格式的转换是一项非常常见的需求。无论是想将Kindle电子书转换为PDF,还是想在其他设备上阅读Mobi文件,我们都需要一种方法来实现这一转换。那么Mobi怎样转PDF呢?在本文中,我将向您介绍几种简单而有效的方法,帮助您完成Mobi到PDF的转换。方法一:使用在线转换工具在线转......
  • 能下载各类书籍的pdf电子书网站
    能下载各类书籍的pdf电子书网站最近我又在学习pythonui自动化了,以前刚接触python那时候只会用我要自学网,还挺好用的,助我学完了python基础。但是现在需要更深入的学习,自学网已经不能满足我了,因此我翻遍咸鱼,5块钱买了一份资料,结果收到后打开是python2的,我需要的是python3…......
  • How do I read Japanese characters from a PDF?
    HowdoIreadJapanesecharactersfromaPDF? EncodingCMapsinparticularforCJKscriptsareinaseparatepackage.For.Netuseitext7.font-asianvianuget.ForJavausecom.itextpdf:font-asianviamaven.Theexistenceofthispackageismorevisibl......
  • 如何批量在线实现pdf转epub?
    pdf怎么转成epub格式?相信很多小伙伴在处理PDF文件时会遇到各种各样的问题,比如pdf怎么转epub这个格式,这个时候我们该如何解决呢?我们也会在网上找到一些方法和教程,但往往下载一堆软件却并不能完全解决问题,下面教你一种能真正解决问题的批量在线pdf转epub方法,而且还免费哟。我们都知......