PDF 编辑技术很难吗?

2025 年 5 月 24 日
 LeviMarvin

市面上 90%的 PDF 软件都是免费查看,付费编辑。要实现 PDF 的编辑功能会很难吗?

11220 次点击
所在节点    程序员
68 条回复
tcper
2025 年 5 月 24 日
PDF 是一个封装格式,主要用于渲染的
所以 PDF 的编辑是把 PDF 的内容读出来,生成一个类似 office word 让你编辑,保存的时候重新导出 PDF
从软件开发者角度看,导出功能有很多标准的库可以用,这个编辑功能是他们自己费很多功夫研发的,自然都用来收费了。
HaroldFinchNYC
2025 年 5 月 24 日
我正在写一个非常简单的 nodejs addon with c++ pdf library
我设置为 private
所以,将来肯定是要收费的
ratazzi
2025 年 5 月 24 日
当然很难,技术规范将近两千页,涉及文本渲染、图形渲染,字体处理等
xtreme1
2025 年 5 月 24 日
而且 adobe 有很多私有实现没写到 pdf 的 iso 标准中的
zhengfan2016
2025 年 5 月 24 日
icloud 上传下载也不难,但是很多 ios app 就把 icloud 同步做成付费功能
penisulaS
2025 年 5 月 24 日
pdf 是偏向固化的格式,二次编辑就是很麻烦
ccpp132
2025 年 5 月 24 日
pdf 编辑很恶心的,就像做个工具让你去修改一个编译好的程序
ratazzi
2025 年 5 月 24 日
图形不说,文本渲染就是个巨坑,unicode 多种文字,字体 subset
putaozhenhaochi
2025 年 5 月 24 日
是的 我试用了一堆应用。后来开了 wps 会员
Rorysky
2025 年 5 月 24 日
博大精深
kokerkov
2025 年 5 月 24 日
如果你说的页面之间的编辑,比如旋转合并拆分,那么挺简单的。

如果是指你要直接在上面编辑文本,那么从技术上是很蛋疼的存在。因为 PDF 本来就是用来显示而不是用来编辑的,出版界最终输出 pdf 文件给出版社印刷。比较类似 JPG 文件,它不支持图层(本意就只是用来显示的),所以你直接编辑 JPG 是很蛋疼的。

一般来说 PDF 编辑只限于修改一点点小错误,如果你真的想排版,请使用专门的排版软件。简单的话,可以用 power point 。更专业一点用微软 publisher ,终极的就是 adobe indesign.
kokerkov
2025 年 5 月 24 日
@putaozhenhaochi 没有正版情节可以用 foxit pdf editor, 挺好用的。
evan9527
2025 年 5 月 24 日
很难,所以我都是转换成图片,等于编辑图片,就很简单但是费时间。
wakarimasen
2025 年 5 月 24 日
处理这种东西需要大量脏活累活。原来稍微研究过 OOXML ,规范文档就有五千页,还有一些微软自己的私有实现和标准不兼容的,但是因为他的垄断地位你又不得不以他为准。PDF 的情况估计类似
Mithril
2025 年 5 月 24 日
PDF 就是个桶,里面装的东西乱七八糟。虽然有标准,但你照着标准做产品,做完了大概率你的客户会给你报各种东西编辑不了。

等你挨个反馈处理完又是一大笔精力和投资。很难做到免费去搞这些细节。
lucasj
2025 年 5 月 24 日
@ccpp132 #7 有没有可能反编译,修改源码后再编译
chutsetien
2025 年 5 月 24 日
就这么说吧,OP 你这句话,PDF 完全可以做到让它被记录的字符顺序是这样:

要件辑 9F 免付很现吗会实编的 P 看市软面。都,?编 0D 查 % 上功 F 是费难 PD 辑能的费

但是显示出来还是你所说的那样一行。

(更有甚者,被存储下来的都是一些不存在的字,真复制出来全是框框,但是显示出来依旧正常。)
putaozhenhaochi
2025 年 5 月 24 日
@kokerkov
程序员职业都不支持正版 说不过去吧.

WPS 好用,编辑文字也很流畅, 试用的 smallpdf 那些,编辑完字都对不齐,排版都乱了
MIUIOS
2025 年 5 月 24 日
技术不难,难在规范一大堆,而且各家各的标准,你想要编辑任意的 pdf 文件还要去研究其他人的标准
ysc3839
2025 年 5 月 24 日
举个例子:
Word 里面一段文字,设置了开头缩进,然后文字很长自动换行了。
实际在 PDF 里面,是先定位到缩进后的位置,输出这一行文字。然后再定位到下一行的位置,输出下一行文字。
等于是变成了 PPT ,一行文字一个文本框这样。要编辑的话,就只能编辑这一个文本框内的文字。
而且上述还只是比较标准的 PDF ,实际上完全可以输出一个文字定位一次,等于每个文字都是一个独立的文本框。甚至还有输出图片,然后附加上隐藏的可选中文字这种操作。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1134009

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX