เราสามารถรวบรวมและจัดระเบียบบันทึกในรูปแบบข้อความ ภาพวาด คลิปหน้าจอ และเสียงบรรยายในเอกสาร OneNote บางครั้งเราอาจต้องแยกข้อความหรือรูปภาพออกจากเอกสาร OneNote โดยทางโปรแกรมในแอปพลิเคชัน Java การแยกดังกล่าวช่วยให้เราสามารถนำข้อความหรือภาพที่แยกออกมาใช้ซ้ำได้ ในบทความนี้ เราจะเรียนรู้วิธีแยกข้อความหรือรูปภาพจากเอกสาร OneNote โดยใช้ Java
หัวข้อต่อไปนี้จะครอบคลุมในบทความนี้:
- Java API เพื่อแยกข้อความหรือรูปภาพจาก OneNote
- แยกข้อความทั้งหมดจาก OneNote โดยใช้ Java
- รับข้อความจากหน้าเฉพาะของ OneNote ใน Java
- แยกรูปภาพจาก OneNote โดยใช้ Java
Java API เพื่อแยกข้อความหรือรูปภาพจาก OneNote
สำหรับการแยกข้อความและรูปภาพจากเอกสาร OneNote เราจะใช้ API ของ Aspose.Note for Java อนุญาตให้สร้าง อ่าน และแปลงเอกสาร OneNote โดยทางโปรแกรมโดยไม่ต้องใช้ MS OneNote โปรด ดาวน์โหลด JAR ของ API หรือเพิ่มการกำหนดค่า pom.xml ต่อไปนี้ในแอปพลิเคชัน Java ที่ใช้ Maven
<repository>
<id>AsposeJavaAPI</id>
<name>Aspose Java API</name>
<url>http://repository.aspose.com/repo/</url>
</repository>
<dependency>
<groupId>com.aspose</groupId>
<artifactId>aspose-note</artifactId>
<version>22.1</version>
<classifier>jdk17</classifier>
</dependency>
แยกข้อความทั้งหมดจากเอกสาร OneNote โดยใช้ Java
เราสามารถแยกข้อความทั้งหมดจากเอกสาร OneNote ได้อย่างง่ายดายโดยทำตามขั้นตอนด้านล่าง:
- ขั้นแรก ให้โหลดไฟล์ OneNote โดยใช้คลาส Document
- หลังจากนั้น ให้เรียกเมธอด GetChildNodes ด้วย RichText.class เป็นอาร์กิวเมนต์เพื่อแยกข้อความ
- สุดท้าย แสดงข้อความที่แยกออกมา
ตัวอย่างโค้ดต่อไปนี้แสดงวิธีการแยกข้อความทั้งหมดจากไฟล์ OneNote โดยใช้ Java
// ตัวอย่างรหัสนี้สาธิตวิธีการแยกข้อความทั้งหมดจากเอกสาร OneNode
// โหลดเอกสารลงใน Aspose.Note
Document oneFile = new Document("D:\\Files\\Note\\Sample1.one");
// ดึงข้อความ
List<RichText> textNodes = (List<RichText>) oneFile.getChildNodes(RichText.class);
for (RichText richText : textNodes) {
if(!richText.getText().isBlank())
System.out.println(richText.getText().toString());
}
รับข้อความจากหน้าเฉพาะของเอกสาร OneNote ใน Java
เราสามารถแยกข้อความจากหน้าเฉพาะของเอกสาร OneNote โดยทำตามขั้นตอนด้านล่าง:
- ขั้นแรก ให้โหลดไฟล์ OneNote โดยใช้คลาส Document
- ถัดไป เรียกเมธอด GetChildNodes ด้วย Page.class เป็นอาร์กิวเมนต์เพื่อแยกหน้า
- จากนั้น รับหน้าเฉพาะตามดัชนีจากรายการหน้า
- หลังจากนั้น รับรายการข้อความสำหรับเพจโดยใช้เมธอด GetChildNodes โดยมี RichText.class เป็นอาร์กิวเมนต์
- สุดท้าย แสดงข้อความที่แยกออกมา
ตัวอย่างโค้ดต่อไปนี้แสดงวิธีการแยกข้อความจากหน้าเฉพาะของไฟล์ OneNote โดยใช้ Java
// ตัวอย่างรหัสนี้สาธิตวิธีการแยกข้อความจากหน้าเฉพาะของเอกสาร OneNode
// โหลดเอกสารลงใน Aspose.Note
Document doc = new Document("D:\\Files\\Note\\Sample1.one");
// รับรายการโหนดหน้า
List<Page> pages = doc.getChildNodes(Page.class);
// รับหน้าตามดัชนี
Page page = pages.get(0);
// รับข้อความของหน้า
List<RichText> textNodes = (List<RichText>) page.getChildNodes(RichText.class);
// แสดงข้อความ
for (RichText richText : textNodes) {
if(!richText.getText().isBlank())
System.out.println(richText.getText().toString());
}
เราอาจวนซ้ำหน้าทั้งหมดทีละหน้าและแยกข้อความสำหรับแต่ละหน้าตามที่แสดงในตัวอย่างโค้ดด้านล่าง:
// ตัวอย่างรหัสนี้สาธิตวิธีการแยกข้อความจากหน้าของเอกสาร OneNode
// โหลดเอกสารลงใน Aspose.Note
Document doc = new Document("D:\\Files\\Note\\Sample1.one");
// รับรายการโหนดหน้า
List<Page> pages = doc.getChildNodes(Page.class);
for (Page p : pages) {
System.out.println("---- Page Started Here ----");
List<RichText> textNodes = (List<RichText>) p.getChildNodes(RichText.class);
for (RichText richText : textNodes) {
if(!richText.getText().isBlank())
System.out.println(richText.getText().toString());
}
System.out.println("---- Page Ended Here ----");
System.out.println();
}
แยกรูปภาพออกจากเอกสาร OneNote โดยใช้ Java
เรายังสามารถแยกรูปภาพจากเอกสาร OneNote โดยทำตามขั้นตอนด้านล่าง:
- ขั้นแรก ให้โหลดไฟล์ OneNote โดยใช้คลาส Document
- หลังจากนั้น รับรายการรูปภาพโดยใช้เมธอด GetChildNodes โดยมี Image.class เป็นอาร์กิวเมนต์
- สุดท้ายแสดงคุณสมบัติของภาพและบันทึกลงในดิสก์ภายในเครื่อง
ตัวอย่างโค้ดต่อไปนี้แสดงวิธีการแยกรูปภาพจากไฟล์ OneNote โดยใช้ Java
// ตัวอย่างรหัสนี้สาธิตวิธีการแยกรูปภาพจากเอกสาร OneNode
// โหลดเอกสารลงใน Aspose.Note
Document doc = new Document("D:\\Files\\Note\\Sample1.one");
// รับภาพทั้งหมด
List<Image> list = doc.getChildNodes(Image.class);
System.out.printf("Total Images: %s\n\n", list.size());
// สำรวจรายการ
for (int i = 0; i < list.size(); i++) {
Image image = list.get(i);
// แสดงคุณสมบัติของรูปภาพ
System.out.println("Width: " + image.getWidth());
System.out.println("Height: " + image.getHeight());
System.out.println("OriginalWidth: " + image.getOriginalWidth());
System.out.println("OriginalHeight: " + image.getOriginalHeight());
System.out.println("FileName: " + image.getFileName());
System.out.println("LastModifiedTime: " + image.getLastModifiedTime());
String outputFile = "ExtractImages_out" + i + "_" + image.getFileName();
// บันทึกภาพ
byte[] buffer = image.getBytes();
Files.write(Paths.get("D:\\Files\\Note\\Images\\" + outputFile), buffer);
System.out.printf("File saved: %s\n", outputFile);
}
รับใบอนุญาตฟรี
คุณสามารถ รับใบอนุญาตชั่วคราวได้ฟรี เพื่อทดลองใช้ห้องสมุดโดยไม่มีข้อจำกัดในการประเมิน
บทสรุป
ในบทความนี้ เราได้เรียนรู้วิธีแยกข้อความจากเอกสาร OneNote ทั้งหมดหรือจากหน้าเฉพาะของเอกสาร เราได้เห็นวิธีการแยกรูปภาพจากเอกสาร OneNote โดยทางโปรแกรม นอกจากนี้ คุณสามารถเรียนรู้เพิ่มเติมเกี่ยวกับ Aspose.Note for Java API โดยใช้ เอกสารประกอบ ในกรณีที่มีความคลุมเครือ โปรดติดต่อเราได้ที่ ฟอรัม