报告/pdf无法加水印-实习小记

背景：爬虫爬取的报告无法加水印

遇到的情况是只有这种特殊的报告不能加，因为是缺少了 Trailer 的 pdf 格式报告。

pdf 格式

pdf 基本结构一共有四个部分：Header 部分、Body 部分、Cross-Reference Table 交叉引用表部分、Trailer 部分

重点说一下 Trailer 部分：
PDF 解析是从 PDF 的尾部开始解析文件的，通过 Trailer 部分能够快速找到交叉引用表和某些特殊对象。

另外这个格式 浏览器、wps 都能解析，但我们现在使用的转化工具是免费版，所以不能解析，也就不能加水印。

解决的对策：1、调研其他后端 pdf 水印工具；2、尝试前端 pdf 水印工具；3、样从 html 写 pdf。

考虑到 后端加水印现在用的 itext 开源版本，维护得很少了。换个新一点的 pdf 水印工具很有可能就能解决。
我调研之后，发现另一个开源工具Spire.PDF

Spire.PDF 是一个专业的 PDF 组件，能够独立地创建、编写、编辑、操作和阅读 PDF 文件，支持.NET、Java、WPF 和 Silverlight。

但是使用中发现一些小问题 spire pdf 高版本会有 自带工具的水印。

解决方法是：换成低版本 只有首页有，在这个基础上 给每个 pdf 前面加一页 然后删掉就行了。