Mengekstrak teks mentah dari file PDF
Ekstrak Teks Dari Semua Halaman Dokumen PDF
Mengekstrak teks dari dokumen PDF adalah kebutuhan umum. Dalam contoh ini, Anda akan melihat bagaimana Aspose.PDF for Java memungkinkan mengekstrak teks dari semua halaman dokumen PDF. Untuk mengekstrak teks dari semua halaman PDF:
- Buat sebuah objek dari TextAbsorber kelas.
- Buka PDF menggunakan Dokumen kelas dan panggil Terima metode dari Halaman koleksi.
- The TextAbsorber kelas menyerap teks dari dokumen dan mengembalikannya dalam properti Text property.
Potongan kode berikut menunjukkan cara mengekstrak teks dari semua halaman dokumen PDF.
public static void ExtractFromAllPages() {
// The path to the documents directory.
String filePath = _dataDir + "ExtractTextAll.pdf";
// Open document
Document pdfDocument = new com.aspose.pdf.Document(filePath);
// Create TextAbsorber object to extract text
TextAbsorber textAbsorber = new com.aspose.pdf.TextAbsorber();
// Accept the absorber for all the pages
pdfDocument.getPages().accept(textAbsorber);
// Get the extracted text
String extractedText = textAbsorber.getText();
try {
java.io.FileWriter writer = new java.io.FileWriter(_dataDir + "extracted-text.txt", true);
// Write a line of text to the file
writer.write(extractedText);
// Close the stream
writer.close();
} catch (java.io.IOException e) {
e.printStackTrace();
}
}
Ekstrak Teks yang disorot dari Dokumen PDF
Dalam berbagai skenario ekstraksi teks dari dokumen PDF, Anda mungkin memiliki kebutuhan untuk mengekstrak hanya teks yang disorot dari dokumen PDF. Untuk mengimplementasikan fungsionalitas ini, kami telah menambahkan metode TextMarkupAnnotation.GetMarkedText() dan TextMarkupAnnotation.GetMarkedTextFragments() dalam API. Anda dapat mengekstrak teks yang disorot dari dokumen PDF dengan menyaring TextMarkupAnnotation dan menggunakan metode yang disebutkan. Potongan kode berikut menunjukkan cara mengekstrak teks yang disorot dari dokumen PDF.
public static void ExtractHighlightedText() {
Document doc = new Document(_dataDir + "ExtractHighlightedText.pdf");
// Loop through all the annotations
for (Annotation annotation : doc.getPages().get_Item(1).getAnnotations()) {
// Filter TextMarkupAnnotation
if (annotation.getAnnotationType() == AnnotationType.Highlight) {
HighlightAnnotation highlightedAnnotation = (HighlightAnnotation) annotation;
// Retrieve highlighted text fragments
TextFragmentCollection collection = highlightedAnnotation.getMarkedTextFragments();
for (TextFragment tf : collection) {
// Display highlighted text
System.out.println(tf.getText());
}
}
}
}
Akses Text Fragment dan Segment Elements dari XML
Kadang‑kadang kita perlu mengakses item TextFragement atau TextSegment saat memproses dokumen PDF yang dihasilkan dari XML. Aspose.PDF for Android via Java menyediakan akses ke item tersebut dengan nama. Potongan kode di bawah ini menunjukkan cara menggunakan fungsi ini.
public static void AccessTextFragmentAndSegmentElements() { String inXml = “40014.xml”; Document doc = new Document(); doc.bindXml(_dataDir + inXml);
TextSegment segment = (TextSegment) doc.getObjectById("boldHtml");
segment = (TextSegment) doc.getObjectById("strongHtml");
System.out.println(segment.getText());
}