szukał do zrobienia czegoś takiego, więc pomyślałem, że przechodzą co znalazłem wzdłuż.
Oto kod do tworzenia mojego oryginalnego pliku pdf z użyciem 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()
}
}
}
Jeśli otworzysz plik pdf, zobaczysz tekst w lewym górnym rogu. Oto test pokazujący, czego szukasz.
@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.")
}
Pozycja (0, 0) to lewy górny róg dokumentu. Szerokość i wysokość są skierowane w dół i na prawo. Udało mi się zmniejszyć nieco zasięg do (35, 52, 120, 3) i nadal muszę zdać test.
Cały kod jest napisany w groovy.
Ile kosztuje urządzenie? – ipavlic
Domyślną jednostką jest pt (punkt). –
Ale jak określić całkowitą "szerokość"/"wysokość" pliku PDF? tj. jak duża "szerokość" ("wysokość") może być dla pliku PDF? –