Stamp 类
Contents
[
Hide
]
Java StampExamples 类演示了通过 Facades API 可用的主要印章构建工作流。
添加图像印章
当需要将图像文件作为印章放置在 PDF 上时,请使用此工作流。
步骤
- 创建一个
PdfFileStamp实例并绑定源 PDF。 - 创建一个
Stamp对象并将其绑定到图像文件。 - 设置印章标识符和放置原点。
- 将印章添加到文档中。
- 保存结果并关闭 Facades 对象。
Java 示例
public static void addImageStamp(Path inputFile, Path imageFile, Path outputFile) {
PdfFileStamp pdfStamper = new PdfFileStamp();
try {
pdfStamper.bindPdf(inputFile.toString());
Stamp stamp = new Stamp();
stamp.bindImage(imageFile.toString());
stamp.setStampId(1);
stamp.setOrigin(36, 520);
pdfStamper.addStamp(stamp);
pdfStamper.save(outputFile.toString());
} finally {
pdfStamper.close();
}
}
将 PDF 页面添加为印章
当需要将另一个 PDF 页面中的内容重新用作印章内容时,请使用此工作流。
步骤
- 创建一个
PdfFileStamp实例并绑定目标 PDF。 - 创建一个
Stamp对象。 - 将印章绑定到另一个 PDF 文件的特定页面。
- 设置目标页码和放置原点。
- 添加标签,保存输出,并关闭 facade 对象。
Java 示例
public static void addPdfPageAsStamp(Path inputFile, Path stampPdf, Path outputFile) {
PdfFileStamp pdfStamper = new PdfFileStamp();
try {
pdfStamper.bindPdf(inputFile.toString());
Stamp stamp = new Stamp();
stamp.bindPdf(stampPdf.toString(), 1);
stamp.setPageNumber(1);
stamp.setOrigin(36, 250);
pdfStamper.addStamp(stamp);
pdfStamper.save(outputFile.toString());
} finally {
pdfStamper.close();
}
}
添加带有 TextState 的文本印章
当印章应包含样式化文本而不是图像时,请使用此工作流。
步骤
- 创建一个
PdfFileStamp实例并绑定源 PDF。 - 创建一个
Stamp对象。 - 将一个
FormattedText对象和自定义TextState绑定到印章。 - 设置印章的原点和旋转角度。
- 添加标签,保存输出,并关闭 facade 对象。
Java 示例
public static void addTextStampWithTextState(Path inputFile, Path outputFile) {
PdfFileStamp pdfStamper = new PdfFileStamp();
try {
pdfStamper.bindPdf(inputFile.toString());
Stamp stamp = new Stamp();
stamp.bindLogo(createTextLogo("Approved by signing workflow"));
stamp.bindTextState(createTextState());
stamp.setOrigin(36, 700);
stamp.setRotation(15.0f);
pdfStamper.addStamp(stamp);
pdfStamper.save(outputFile.toString());
} finally {
pdfStamper.close();
}
}
在特定页面添加印章
当需要印章仅出现在选定页面而不是整个文档时,请使用此工作流。
步骤
- 创建一个
PdfFileStamp实例并绑定源 PDF。 - 创建一个
Stamp对象并将其绑定到图像文件。 - 设置目标页面列表、原点和图像大小。
- 将印章添加到文档中。
- 保存结果并关闭 Facades 对象。
Java 示例
public static void addStampToSpecificPages(Path inputFile, Path imageFile, Path outputFile) {
PdfFileStamp pdfStamper = new PdfFileStamp();
try {
pdfStamper.bindPdf(inputFile.toString());
Stamp stamp = new Stamp();
stamp.bindImage(imageFile.toString());
stamp.setPages(new int[] {1});
stamp.setOrigin(400, 40);
stamp.setImageSize(120, 60);
pdfStamper.addStamp(stamp);
pdfStamper.save(outputFile.toString());
} finally {
pdfStamper.close();
}
}
添加背景图像印章
当需要将印章显示在页面内容之后,并且需要控制不透明度和旋转时,请使用此工作流。
步骤
- 创建一个
PdfFileStamp实例并绑定源 PDF。 - 创建一个
Stamp对象并将其绑定到图像文件。 - 将印章标记为背景内容。
- 配置不透明度、质量、旋转、大小和原点。
- 添加标签,保存输出,并关闭 facade 对象。
Java 示例
public static void addBackgroundImageStamp(Path inputFile, Path imageFile, Path outputFile) {
PdfFileStamp pdfStamper = new PdfFileStamp();
try {
pdfStamper.bindPdf(inputFile.toString());
Stamp stamp = new Stamp();
stamp.bindImage(imageFile.toString());
stamp.setBackground(true);
stamp.setOpacity(0.35f);
stamp.setQuality(90);
stamp.setRotation(45.0f);
stamp.setImageSize(160, 80);
stamp.setOrigin(200, 300);
pdfStamper.addStamp(stamp);
pdfStamper.save(outputFile.toString());
} finally {
pdfStamper.close();
}
}