簡體   English   中英

pdfbox旋轉

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM