2015-01-21 6 views
0

Я использую pdf-документ для преобразования PDF-страниц в изображения и добавления этих изображений в jframe. Я рисую прямоугольник в jframe, используя метод paint, и получил координаты прямоугольника. используя эти координаты, я должен очистить текст в pdf. Для этого я написал ниже логику, но он не работает должным образом. Я думаю, что координаты, которые я выбрал, отличаются от координат прямоугольника itext. Позвольте дать решение.Поиск координат выбранного прямоугольника в pdf

общественного недействительными manipulatePdf (String ЦСИ, String Dest, java.awt.Rectangle selectRect) бросает IOException, DocumentException {

PdfReader reader = new PdfReader(src); 
    Rectangle page = reader.getBoxSize(1, "media"); 

    PdfStamper stamper = new PdfStamper(reader, new FileOutputStream(dest)); 
    List<PdfCleanUpLocation> cleanUpLocations = new ArrayList<PdfCleanUpLocation>(); 

    float lly = page.getHeight() - selectRect.height; 
    float ury = page.getHeight() - selectRect.y; 
    System.out.println("new pagesize" + lly + " " + ury); 
    cleanUpLocations.add(new PdfCleanUpLocation(1, new Rectangle(0f, lly, 
      page.getWidth(), ury), BaseColor.GRAY)); 

    PdfCleanUpProcessor cleaner = new PdfCleanUpProcessor(cleanUpLocations, 
      stamper); 

    cleaner.cleanUp(); 
    stamper.close(); 
    reader.close(); 

} 

ответ

0

не очень знакомы с этими объектами, однако на первый взгляд, кажется, что некоторые проблемы в строке "float ury = page.getHeight() - selectRect.y;" , Вы хотите использовать 'page.y' вместо этого !!

+0

нет, вычисляя lly, ury, я получаю неправильные результаты, поэтому, пожалуйста, скажите мне, как их вычислить. – amar

Смежные вопросы