java - 使用 pdfbox 翻转 PDF

标签 java pdf pdfbox flip

我已经尝试弄清楚如何翻转 pdf 一段时间了,但还没有弄清楚。 我只找到了如何使用 Graphics2D 翻转图像:

// Flip the image vertically
AffineTransform tx = AffineTransform.getScaleInstance(1, -1);
tx.translate(0, -image.getHeight(null));
AffineTransformOp op = new AffineTransformOp(tx, AffineTransformOp.TYPE_NEAREST_NEIGHBOR);
image = op.filter(image, null);

你能帮我用 PDFbox 获取它吗?

谢谢!!

最佳答案

使用 PDFBox 2.*,您需要将其添加到页面内容流之前。可以选择保存和恢复图形状态,这对于进一步修改很有用。 (一切基于此answer)

PDPage page = doc.getPage(0);
try (PDPageContentStream cs = new PDPageContentStream(doc, page, PDPageContentStream.AppendMode.PREPEND, true))
{
    cs.saveGraphicsState();
    cs.transform(Matrix.getScaleInstance(1, -1));
    cs.transform(Matrix.getTranslateInstance(0, -page.getCropBox().getHeight()));
    cs.saveGraphicsState();
}
try (PDPageContentStream cs = new PDPageContentStream(doc, page, PDPageContentStream.AppendMode.APPEND, true))
{
    cs.restoreGraphicsState();
    cs.restoreGraphicsState();
}

关于java - 使用 pdfbox 翻转 PDF,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51299800/

相关文章:

java - JPA 整数鉴别器值

c# - ASP.Net 将文档转换和合并为单个 PDF

将 tiff 转换为 pdf 期间另一个进程使用的 c# 文件

java - 尝试使用 iText 生成可变页面 PDF 时出现异常

java - 使用pdfbox从PDF文件中提取文本

java - 类泛型中使用的包装类

java - 如何跟踪两个团队之间的 json 请求/响应更改并在出现问题时收到通知。被改变了

c# - 使用大量 if 语句的缺点

java - 使用 pdfbox 执行 java jar 文件时主线程中出现异常

java - PDFBOX 生成非常大尺寸的 PDF/A 文件