Я использую PDFBox для размещения динамического текста на основе текста в PDF.Я прочитал каждую страницу в формате PDF, нашел текст в формате PDF и поместил соответствующий соответствующий текст вокруг его места.Но текст помещается поверх другого текста или поля или строки.Мне нужно разместить динамически согласованный текст в свободном пространстве.Но я не смог найти способ найти свободное место в окружающем месте текста PDF, используя Java PDFbox.Пожалуйста, найдите наш код ниже.
package com.mycompany.pdfboxsample;
import java.io.File;
import java.io.IOException;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import org.apache.pdfbox.cos.COSBase;
import org.apache.pdfbox.pdmodel.PDDocument;
import org.apache.pdfbox.pdmodel.PDPage;
import org.apache.pdfbox.pdmodel.PDResources;
import org.apache.pdfbox.pdmodel.common.PDRectangle;
import org.apache.pdfbox.pdmodel.graphics.xobject.PDXObject;
import org.apache.pdfbox.pdmodel.graphics.xobject.PDXObjectForm;
import org.apache.pdfbox.pdmodel.graphics.xobject.PDXObjectImage;
/**
*
* @author Gayathri.R
*/
public class MainClass {
public static void main(String[] args) throws IOException {
try{
PDDocument document = null;
document = PDDocument.load(new File("C:\\Gayathri\\Smartacrf\\sample\\ItextSample\\oldcrf20.pdf"));
List pages = document.getDocumentCatalog().getAllPages();
Iterator iter = pages.iterator();
while (iter.hasNext()) {
PDPage page = (PDPage) iter.next();
PDResources resources = page.getResources();
Map<String,PDXObject> pageImages = resources.getXObjects();
if (pageImages != null) {
Iterator imageIter = pageImages.keySet().iterator();
while (imageIter.hasNext()) {
String key = (String) imageIter.next();
PDXObjectForm image = (PDXObjectForm) pageImages.get(key);
COSBase cosObject = image.getCOSObject();
System.out.println("Finded");
float lowerleftx =image.getBBox().getLowerLeftX();
float upperleftx =image.getBBox().getLowerLeftY();
float lowerlefty =image.getBBox().getUpperRightX();
float upperlefty =image.getBBox().getUpperRightY();
float width =image.getBBox().getWidth();
float height =image.getBBox().getHeight();
}
}
}
}
catch(Exception ex)
{
System.out.println(ex);
}
}