میتوانیم یادداشتها را در قالب متن، نقاشی، بریدههای صفحه و تفسیرهای صوتی در سند OneNote جمعآوری و سازماندهی کنیم. گاهی اوقات ممکن است نیاز داشته باشیم که متن یا تصاویر را از اسناد OneNote به صورت برنامهنویسی در برنامههای جاوا استخراج کنیم. چنین استخراجی به ما این امکان را می دهد که از متن یا تصاویر استخراج شده به طور جداگانه استفاده مجدد کنیم. در این مقاله نحوه استخراج متن یا تصاویر از اسناد OneNote با استفاده از جاوا را خواهیم آموخت.
موضوعات زیر در این مقاله پوشش داده خواهد شد:
- Java API برای استخراج متن یا تصاویر از OneNote
- تمام متن را از OneNote با استفاده از جاوا استخراج کنید
- دریافت متن از صفحات خاص OneNote در جاوا
- استخراج تصاویر از OneNote با استفاده از جاوا
Java API برای استخراج متن یا تصاویر از OneNote
برای استخراج متن و تصاویر از سند OneNote، از API Aspose.Note for Java استفاده خواهیم کرد. این امکان ایجاد، خواندن و تبدیل اسناد OneNote را به صورت برنامهنویسی بدون استفاده از MS OneNote فراهم میکند. لطفاً JAR API را دانلود کنید یا پیکربندی pom.xml زیر را در یک برنامه جاوا مبتنی بر 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 با استفاده از جاوا استخراج کنید
با دنبال کردن مراحل زیر میتوانیم به راحتی تمام متن را از سند OneNote استخراج کنیم:
- ابتدا یک فایل OneNote را با استفاده از کلاس Document بارگیری کنید.
- پس از آن، متد GetChildNodes را با RichText.class به عنوان آرگومان برای استخراج متن فراخوانی کنید.
- در نهایت متن استخراج شده را نشان دهید.
نمونه کد زیر نحوه استخراج تمام متن از یک فایل OneNote با استفاده از جاوا را نشان می دهد.
// این مثال کد نحوه استخراج تمام متن از سند 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 در جاوا
با دنبال کردن مراحل زیر میتوانیم متن را از صفحات خاصی از سند OneNote استخراج کنیم:
- ابتدا یک فایل OneNote را با استفاده از کلاس Document بارگیری کنید.
- سپس، متد GetChildNodes را با Page.class به عنوان آرگومان برای استخراج صفحات فراخوانی کنید.
- سپس، یک صفحه خاص را با شاخص آن از لیست صفحات دریافت کنید.
- پس از آن، با استفاده از روش GetChildNodes با RichText.class به عنوان آرگومان، فهرستی از موارد متنی را برای صفحه دریافت کنید.
- در نهایت متن استخراج شده را نشان دهید.
نمونه کد زیر نحوه استخراج متن از یک صفحه خاص از یک فایل OneNote با استفاده از جاوا را نشان می دهد.
// این مثال کد نحوه استخراج متن از یک صفحه خاص از یک سند 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 با استفاده از جاوا
همچنین میتوانیم با دنبال کردن مراحل زیر، تصاویر را از سند OneNote استخراج کنیم:
- ابتدا یک فایل OneNote را با استفاده از کلاس Document بارگیری کنید.
- پس از آن، فهرستی از تصاویر را با استفاده از روش GetChildNodes با Image.class به عنوان آرگومان دریافت کنید.
- در نهایت، ویژگی های تصویر را نشان داده و در دیسک محلی ذخیره کنید.
نمونه کد زیر نحوه استخراج تصاویر از فایل OneNote با استفاده از جاوا را نشان می دهد.
// این مثال کد نحوه استخراج تصاویر از سند 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 برای Java API اطلاعات بیشتری کسب کنید. در صورت وجود هرگونه ابهام، لطفاً با ما در [تالار] تماس بگیرید17.