[英]Rotation with pdfbox
我是java的新手,我正嘗試使PDFBOX旋轉PDF文件。.我似乎無法正確解決錯誤。.我知道它一定很簡單,但它說The operator < is undefined for the argument type(s) int, Dimension
此行的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的新手 ,因此有一些背景:
在Java API中有幾種稱為List
類,在第三方API中甚至更多。 因此,在導入List class
,必須確保導入正確的類。
特別是:
java.awt.List
,一個組件為用戶提供來自Abstract Window Toolkit (最早的Java GUI API)中文本項的滾動列表 ; 和 java.util.List
,來自Java Collections Framework的有序集合(也稱為“序列”)的接口。 在您的代碼中,您正在處理document.getDocumentCatalog().getAllPages()
的結果,該結果返回java.util.List
對象中的PDPage
實例的列表。
錯誤消息operator <未為參數類型int定義,Dimension是由於java.awt.List
(如java.util.List
)具有方法size()
但該方法返回一個java.awt.Dimension
的事實java.awt.Dimension
( 封裝組件的寬度和高度的類),而不是int
。
因此, i < pages.size()
嘗試比較自然不具有可比性的實體。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.