cherchait à faire quelque chose comme ça, donc je pensais que je passerais ce que je trouve le long.
Voici le code pour créer mon pdf original en utilisant itext.
import com.lowagie.text.Document
import com.lowagie.text.Paragraph
import com.lowagie.text.pdf.PdfWriter
class SimplePdfCreator {
void createFrom(String path) {
Document d = new Document()
try {
PdfWriter writer = PdfWriter.getInstance(d, new FileOutputStream(path))
d.open()
d.add(new Paragraph("This is a test."))
d.close()
} catch (Exception e) {
e.printStackTrace()
}
}
}
Si vous ouvrez le pdf, le texte apparaîtra dans le coin supérieur gauche. Voici le test montrant ce que vous cherchez.
@Test
void createFrom_using_pdf_box_to_extract_text_targeted_extraction() {
new SimplePdfCreator().createFrom("myFileLocation")
def doc = PDDocument.load("myFileLocation")
Rectangle2D.Double d = new Rectangle2D.Double(0, 0, 120, 100)
def stripper = new PDFTextStripperByArea()
def pages = doc.getDocumentCatalog().allPages
stripper.addRegion("myRegion", d)
stripper.extractRegions(pages[0])
assert stripper.getTextForRegion("myRegion").contains("This is a test.")
}
La position (0, 0) est le coin supérieur gauche du document. La largeur et la hauteur se dirigent vers le bas et vers la droite. J'ai pu réduire un peu la portée (35, 52, 120, 3) et réussir le test.
Tout le code est écrit en groovy.
Combien coûte une unité? – ipavlic
L'unité par défaut est le pt (point) je pense. –
Mais comment déterminer le 'width' /' height' total d'un fichier PDF? c'est-à-dire quelle est la largeur de 'width' (' height') pour un fichier PDF? –