gpt4 book ai didi

java - 使用 pdfbox 旋转

转载 作者:行者123 更新时间:2023-11-30 03:11:32 26 4
gpt4 key购买 nike

我是java新手,我正在尝试让PDFBOX来旋转PDF文件..我似乎无法正确理解错误..我知道它一定很简单,但它说The operator < is undefined for the argument type(s) int, Dimension在这一行:

for (int i = 0; i < pages.size(); i++) {

而且它突破了尺寸..

我的代码:

import java.awt.List;
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;

import org.apache.pdfbox.cos.COSDocument;
import org.apache.pdfbox.pdfparser.PDFParser;
import org.apache.pdfbox.pdmodel.PDDocument;
import org.apache.pdfbox.pdmodel.PDPage;


public class PdfRotator {


private static final String pdfFile = null;

public static void main(String[] args) throws IOException {

PDDocument document = PDDocument.load("PDFrotatorTEST.pdf");



//public static void main(String[] args) throws Exception {

List pages = (List) document.getDocumentCatalog().getAllPages();

for (int i = 0; i < pages.size(); i++) {
PDPage page = (PDPage) ((java.util.List) pages).get(i);// PDPage page = (PDPage) pages.get(i);
if ((i + 1) % 2 == 0) {
page.setRotation(0);
}
}

File f = new File(pdfFile);// File f = new File(pdfFile);
String newFile = f.getParent() + File.separator + "out.pdf";
document.save(newFile);
document.close();
}
}

任何帮助将不胜感激

最佳答案

您导入类 List

import java.awt.List;

但这不是 List你要。相反,你想要

import java.util.List;
<小时/>

由于OP是java新手,一些背景:

有几个类名为List在 java API 中,甚至在第三方 API 中。因此,当导入List class时,您必须确保导入正确的。

特别是有:

  • java.awt.List ,一个组件向用户呈现一个滚动的文本项列表,来自Abstract Window Toolkit,这是最古老的Java GUI API;和
  • java.util.ListJava 集合框架中的有序集合(也称为“序列”)接口(interface)。

在您的代码中,您正在处理 document.getDocumentCatalog().getAllPages() 的结果它返回 PDPage 的列表java.util.List 中的实例对象。

<小时/>

错误消息对于参数类型int,Dimension,运算符<未定义是因为java.awt.List (如 java.util.List )有一个方法 size()但此方法返回 java.awt.Dimension (封装组件宽度和高度的类)而不是 int .

因此,i < pages.size()尝试比较本质上不具有可比性的实体。

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

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com