ไฟล์ PDF มักประกอบด้วยข้อความ รูปภาพ หัวเรื่อง คำอธิบายประกอบ และองค์ประกอบอื่นๆ และเนื่องจากรูปแบบนี้รักษาเค้าโครงเอกสารข้ามแพลตฟอร์ม (เดสก์ท็อป / มือถือ ฯลฯ) ดังนั้นจึงใช้กันอย่างแพร่หลายในการแบ่งปันข้อมูลทางอินเทอร์เน็ต อย่างไรก็ตาม เราอาจมีข้อกำหนดให้ดึงเนื้อหาที่เป็นข้อความของเอกสาร PDF เพื่อดำเนินการต่อไป ดังนั้นในบทความนี้ เราจะพูดถึงรายละเอียดเกี่ยวกับวิธีแยกข้อความจาก PDF โดยใช้ Java Cloud SDK เมื่อการดำเนินการเสร็จสิ้น ผลลัพธ์จะถูกบันทึกในรูปแบบ TXT
API การแปลง PDF เป็น TXT
Aspose.PDF Cloud SDK สำหรับ Java เป็นโซลูชัน REST API ที่ได้รับรางวัลของเรา ซึ่งนำเสนอความสามารถในการสร้าง แก้ไข และแปลง PDF เป็น JPG, XPS, HTML, DOCX และ รูปแบบที่รองรับ อื่นๆ ในตอนนี้ เพื่อใช้ความสามารถในการจดจำข้อความ pdf ในแอปพลิเคชัน Java โปรดเพิ่มรายละเอียดต่อไปนี้ใน pom.xml ของโปรเจ็กต์ประเภท maven build
<repositories>
<repository>
<id>aspose-cloud</id>
<name>artifact.aspose-cloud-releases</name>
<url>https://artifact.aspose.cloud/repo</url>
</repository>
</repositories>
<dependencies>
<dependency>
<groupId>com.aspose</groupId>
<artifactId>aspose-pdf-cloud</artifactId>
<version>21.11.0</version>
</dependency>
</dependencies>
หลังจากติดตั้ง SDK แล้ว ขั้นตอนสำคัญถัดไปคือการสร้างบัญชีฟรีผ่าน Aspose Cloud ดังนั้น โปรดเข้าสู่ระบบโดยใช้บัญชีที่สร้างขึ้นใหม่ และค้นหา/สร้างรหัสไคลเอ็นต์และรหัสลับไคลเอ็นต์ที่ Cloud Dashboard รายละเอียดเหล่านี้จำเป็นในส่วนถัดไป
PDF เป็นข้อความใน Java
โปรดทำตามขั้นตอนด้านล่างเพื่อทำการแปลง PDF เป็นข้อความโดยใช้ Java Cloud SDK ดังนั้นหลังจากการแปลงสำเร็จ ไฟล์ TXT ที่เป็นผลลัพธ์จะถูกบันทึกในที่เก็บข้อมูลบนคลาวด์
- ก่อนอื่นเราต้องสร้างวัตถุ PdfApi ในขณะที่ระบุรหัสลูกค้าและความลับของไคลเอนต์เป็นอาร์กิวเมนต์
- ประการที่สอง โหลดไฟล์ PDF อินพุตโดยใช้อินสแตนซ์ของไฟล์
- อัปโหลดอินพุต PDF ไปยังที่เก็บข้อมูลบนคลาวด์โดยใช้เมธอด uploadFile(…)
- สร้างตัวแปร Integer ระบุหมายเลขหน้าของ PDF สำหรับการดึงข้อความ และ Double instances ระบุพื้นที่สี่เหลี่ยมผืนผ้าของหน้าที่เราต้องการแยกเนื้อหาที่เป็นข้อความ
- สุดท้ายเรียกเมธอด getPageText(…) เพื่อดึงข้อความจากอินพุต PDF
try
{
// รับ ClientID และ ClientSecret จาก https://dashboard.aspose.cloud/
String clientId = "bb959721-5780-4be6-be35-ff5c3a6aa4a2";
String clientSecret = "4d84d5f6584160cbd91dba1fe145db14";
// สร้างอินสแตนซ์ของ PdfApi
PdfApi pdfApi = new PdfApi(clientSecret,clientId);
// ชื่อของเอกสาร PDF ที่ป้อน
String inputFile = "marketing.pdf";
// อ่านเนื้อหาของไฟล์ PDF ที่ป้อน
File file = new File("//Users//"+inputFile);
// อัปโหลด PDF ไปยังที่เก็บข้อมูลบนคลาวด์
pdfApi.uploadFile("input.pdf", file, null);
// หน้าเฉพาะของ PDF สำหรับการแปลง
int pageNumber =1;
// พิกัด X ของมุมล่าง - ซ้าย
Double LLX = 0.0;
// Y - พิกัดของมุมซ้ายล่าง
Double LLY = 0.0;
// X - พิกัดของมุมขวาบน
Double URX = 800.0;
// Y - พิกัดของมุมขวาบน
Double URY = 800.0;
// เรียก API เพื่อแปลง PDF เป็นข้อความ
TextRectsResponse response = pdfApi.getPageText(inputFile, pageNumber, LLX, LLY, URX, URY, null, null, true, null, "default");
// ตัวอย่างไฟล์ TXT ที่เป็นผลลัพธ์
FileWriter myWriter = new FileWriter("filename.txt");
// สำรวจผ่าน Text Occurance แต่ละรายการเพื่อรับผลการพิมพ์ในคอนโซล
for(int counter=0; counter <=response.getTextOccurrences().getList().size()-1; counter++)
{
// เขียนเนื้อหาข้อความไปยังไฟล์ TXT
myWriter.write(response.getTextOccurrences().getList().get(counter).getText());
}
// ปิดตัวจัดการ TXT
myWriter.close();
System.out.println("Text successfully extracted from PDF !");
}catch(Exception ex)
{
System.out.println(ex);
}
ไฟล์ PDF ตัวอย่างที่ใช้ในตัวอย่างข้างต้นสามารถดาวน์โหลดได้จาก marketing.pdf และ extracted.txt
แยกข้อความจาก PDF โดยใช้คำสั่ง cURL
Th REST API สามารถเข้าถึงได้ง่ายผ่านคำสั่ง cURL ดังนั้นในส่วนนี้ เราจะสำรวจตัวเลือกของวิธีการแยกเนื้อหาที่เป็นข้อความจาก PDF โดยใช้คำสั่ง cURL ดังนั้น ตามข้อกำหนดเบื้องต้น เราต้องสร้างโทเค็นการเข้าถึง JWT (ตามข้อมูลประจำตัวของไคลเอ็นต์) ก่อนในขณะที่ดำเนินการคำสั่งต่อไปนี้
curl -v "https://api.aspose.cloud/connect/token" \
-X POST \
-d "grant_type=client_credentials&client_id=bb959721-5780-4be6-be35-ff5c3a6aa4a2&client_secret=4d84d5f6584160cbd91dba1fe145db14" \
-H "Content-Type: application/x-www-form-urlencoded" \
-H "Accept: application/json"
เมื่อเรามีโทเค็น JWT แล้ว เราจำเป็นต้องดำเนินการคำสั่งต่อไปนี้เพื่อแยกข้อความทั้งหมดที่เกิดขึ้นภายในเอกสาร PDF
curl -v -X GET "https://api.aspose.cloud/v3.0/pdf/input.pdf/text?splitRects=true&LLX=0&LLY=0&URX=800&URY=800" \
-H "accept: application/json" \
-H "authorization: Bearer <JWT Token>"
บทสรุป
บทความนี้ได้อธิบายรายละเอียดเกี่ยวกับวิธีแปลง PDF เป็น TXT โดยใช้ Java Cloud SDK ในเวลาเดียวกัน เรายังได้สำรวจตัวเลือกสำหรับการแยกข้อความจาก PDF โดยใช้คำสั่ง cURL ดังนั้นด้วยความยืดหยุ่นในการข้ามไปมาระหว่างหน้า PDF หลายหน้า เราจึงสามารถควบคุมตำแหน่งที่จะแยกเนื้อหาได้ เราขอแนะนำให้คุณสำรวจผลิตภัณฑ์ เอกสารประกอบ เพื่อเรียนรู้เพิ่มเติมเกี่ยวกับคุณสมบัติที่น่าตื่นเต้นอื่นๆ ที่มีให้โดย Java Cloud API นอกจากนี้ เนื่องจาก Cloud SDK ทั้งหมดของเราได้รับการเผยแพร่ภายใต้ใบอนุญาต MIT ดังนั้นคุณอาจพิจารณาดาวน์โหลดซอร์สโค้ดทั้งหมดจาก GitHub และแก้ไขตามความต้องการของคุณ ในกรณีที่มีปัญหาใดๆ คุณสามารถติดต่อเราเพื่อขอวิธีแก้ปัญหาอย่างรวดเร็วผ่าน [ฟอรัมสนับสนุนผลิตภัณฑ์] ฟรี 9
บทความที่เกี่ยวข้อง
โปรดไปที่ลิงก์ต่อไปนี้เพื่อเรียนรู้เพิ่มเติมเกี่ยวกับ: