2014-10-01 3 views
0

Я могу получить данные из страниц pdf в строке. Но наряду с этим также выводятся данные нижнего колонтитула. Я хочу удалить их со всех страниц pdf. Как я могу удалить, что я использовал Rectangle2D но координаты не давая ДАННЫЕИзвлечь данные нижнего колонтитула PDF в java

+1

* Координаты не дают данных * - что это значит? – mkl

+0

PDDocument doc = PDDocument.load ("xyz.pdf"); PDPage page = (PDPage) doc.getDocumentCatalog(). GetAllPages(). Get (1); Rectangle2D region = новый Rectangle2D.Double (10, 10, 10, 10); Строка regionName = "region"; PDFTextStripperByArea stripper = new PDFTextStripperByArea(); stripper.addRegion (regionName, region); stripper.extractRegions (страница); System.out.println («Region is» + stripper.getTextForRegion (region »)) Здесь я пытаюсь получить данные в соответствии с координатами, чтобы нижний колонтитул был удален –

+0

Ну, я сомневаюсь, что область страницы, определенная' Rectangle2D.Double (10, 10, 10, 10) 'будет содержать много текста. Во многих документах эта область представляет собой небольшой пустой квадрат в левом нижнем углу страницы. – mkl

ответ

1

В комментарии ОР указал, что он использовал этот код:

PDDocument doc = PDDocument.load("xyz.pdf"); 
PDPage page = (PDPage)doc.getDocumentCatalog().getAllPages().get(1); 
Rectangle2D region = new Rectangle2D.Double(10, 10, 10, 10); 
String regionName = "region"; 
PDFTextStripperByArea stripper = new PDFTextStripperByArea(); 
stripper.addRegion(regionName, region); 
stripper.extractRegions(page); 
System.out.println("Region is "+ stripper.getTextForRegion("region")); 

Для большинства документов этот код не будет извлекать никакого текста, потому что это выглядит в небольшой (10x10 pt) области в верхней левой области второй страницы документа. Таким образом, значения в new Rectangle2D.Double(10, 10, 10, 10) должны измениться.

Я попытался с различными регионами, но я не получаю какой-либо текст, если у вас есть идея для нормальной Pdf страницы, вы должны поделиться

Там нет ничего, как обычной PDF страницы. Целью PDF является предоставление пользователям возможности легко и надежно обмениваться и просматривать электронные документы независимо от среды, в которой они были созданы, или среды, в которой они просматриваются или печатаются. Не существует серьезных ограничений на размер страницы или расположение контента на страницах.

E.g. для this form

Canada Life HIPAA form

вам нужны такие ценности, как эти

PDPage page = (PDPage)doc.getDocumentCatalog().getAllPages().get(0); 
Rectangle2D region = new Rectangle2D.Float(0f, 230f, 612f, 300f); 

, чтобы извлечь тело «Я разрешаю любой план медицинского ... Я получил копию этого разрешения.» без заголовков, нижних колонтитулов или линий формы.

Если у вас много похожих страниц (например, один большой документ со многими страницами с аналогичным расположением), вам нужно измерить, но один раз для многих страниц для извлечения.

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