最近对 PDF 格式产生了兴趣,很容易就查到了它的标准是 ISO 32000:https://www.iso.org/standard/51502.html
但万万没想到这个标准竟然是收费的,CHF 198,合人民币一千多……
(为什么大多 ISO 标准都收费才能阅读?https://www.zhihu.com/question/20500509 )
其实这还是有点让我不解的,比如:
1. 那些做 PDF 阅读器的程序员,他们都要自己花钱购买这份标准吗?
2. 他们做出来的产品可以开源的对吧?(根据上面的知乎问题中的答案,我理解的 ISO 收费是保护那个文档本身,而不是那个标准)
3. 如果有一个程序员他没钱去买那个标准的文档,他只能去读别人的源码然后去理解那个标准吗?
4. 所以哪里能找到的免费的 PDF 标准呢?有没有一个民间的版本?
@zero 我之前上学的时候书上就经常说这里螺栓的规格是根据 DIN xxxx,但是我自己去找 DIN 的时候就没有 access,很迷茫!
如果是开发 pdf 相关软件的话 adobe 有 pdf reference,官网链接找不到了,找了个别的
https://ghostscript.com/~robin/pdf_reference17.pdf
@zero 找到了,ISO 32000-1 是 Adobe 发布的,不要钱,ISO 32000-2 是 ISO members 写的,要钱
https://wwwimages2.adobe.com/content/dam/acom/en/devnet/pdf/pdfs/PDF32000_2008.pdf
@unagi 好强的信息搜索能力啊,太感谢了!我第一个链接里的就是 ISO 32000-1 呀!就是它要收 198 CHF 的!
@unagi 我差不多搞明白了,ISO 32000-1 是 PDF 1.7,ISO 32000-2 是 PDF 2.0,是今年刚发布的版本.
ISO 32000-2 这个新版是要钱的,旧版的 ISO 32000-1 不要钱:
ISO 32000-2:2020, the current edition of the PDF specification, is not freely downloadable: a purchase is required.
The first ISO-standardized specification for PDF, ISO 32000-1:2008 (PDF 1.7), is available for free by special arrangement between ISO and Adobe Systems.
https://www.pdfa.org/community/pdf-technical-working-group/
链接点进去是 DC 开发者资源,可能不是一份文档?需要再研究下.
PDF Association 这个组织看着相当有趣,他们还有 github.
@zero 是我给你发的第一个文档,你看链接的文档名是 pdf_reference, 应该是 adobe 他们换链接了
@unagi 真的哎!!!我同意你的判断!
@zero 官网的新链接我也找到了,你看整个 devnet/pdf/pdf_reference 是一致的
https://wwwimages2.adobe.com/content/dam/acom/en/devnet/pdf/pdfs/pdf_reference_1-7.pdf
@unagi 你是怎么找到的,教教我
@zero 首先我知道的 pdf 相关的软件有 pdftex,我就上网查了 manual
https://ctan.mc1.root.project-creative.net/systems/doc/pdftex/manual/pdftex-a.pdf
里面简单介绍了 pdf,并说更详细的版本请看该链接:https://www.adobe.com/devnet/pdf/pdf_reference.html
这个就是你刚才说的失效了的链接,但是看得到文件名,我就搜 pdf reference, 就找到了,第一个链接是 reference,第二个链接是 iso standard
@unagi 原来如此!怪我找到的那个 PDF Association 没有提供文件名哈哈!
pdftex 我也记下了!虽然我也用 latex 但我不知道 latex 还能直接编码 pdf,更不知道有这么一个包,这真是个好东西啊!幸好我问了你一句,我觉得我对 pdf 的兴趣可以直接看这个 pdftex 手册了!(象友你真滴太好了,幸福 )
@zero 有的有的,你不要直接点链接,直接点就跳转了,你右键复制链接。
不知道 LaTeX 可以编码 pdf 是什么意思,那你用 LaTeX 干什么? 我都是直接生成 pdf 的
@zero 酱紫哦…
渲染 pdf 的应该是各类 pdf reader 比如 Adobe acrobat,TeX(plain TeX)是一种编程语言,LaTeX 是在 TeX 基础上规定了一套 macro 的语言,使得 TeX 写起来更方便,要在电脑上使用这门语言的话需要一个distribution(类比:ubuntu, arch linux, debian 都是 linux distributions),在 Windows 上可能就是 MiKTeX,这些 distro 能帮你做很多事,比如你想生成 pdf 的话就会自动帮你调用 pdflatex 或者 pdftex,应该是可以设置的。
而且很多文件都可以直接用文本打开,比如 eps 和 svg,打开之后都可以直接编辑矢量图。
@zero 那可以用“编译” 我是在 emacs 里用的 AUCTeX,distro 也是 TeX Live,反正我只管在编译的时候敲 LaTeX,它具体干了什么我不知道也没编辑过
@unagi anyway,回到最开始那里,我是以为 pdftex 是一个包了,看上去它是一个引擎,是和 pdflatex、xelatex 一样的对吧!哈哈我的错!
@zero pdftex, pdflatex, xelatex 等等自身是 compiler,并且被用作各种 distros 的 typesetting engine。但是只要是网上下载下来的满足同一个目标的一组文件应该都可以叫 package,这样的话其实 engine 和 distro 都属于 package…好像没有太大的必要纠结这个定义
@unagi 嗯嗯!不过大家交流的时候还是应该提前把自己说的概念定义好,比如我在说“包”的时候,其实我指的是狭义的那些用 \usepackage 引如的包,如果我能提前把这个概念说清楚,你就能马上看出我的问题而不会浪费太多时间来看一看我们是哪里出了偏差了!(为我的莽撞自罚一杯!
@zero 这样哦!没有关系,我也是趁机具体了解了一下各种 xxtex 的功能 aka 现查,没有浪费时间!
@unagi 是我“渲染”这个词用的不好……应该用“生成”,总之就是把 tex 代码变成类似 PostScript 的代码~
我用的 distribution 是 texlive!(这样说对吗?)这应该是现在最流行的了吧!可以选择调用的应该是叫排版引擎?我用的是 xelatex,好像是为了某个另外两个不支持的特性~基本概念我都不太记得了