Aspose.OMR Cloud SDK for Java ช่วยให้นักพัฒนาสามารถทำงานกับฟีเจอร์ Optical Mark Recognition (OMR) ได้โดยตรงจากแอปพลิเคชัน Java คู่มือนี้แสดงวิธีการแปลงจาก PDF ไปเป็น JSON ใน Java รวมถึงการตั้งค่า การเขียนโค้ด การปรับประสิทธิภาพ และการแก้ไขปัญหา
การแปลง PDF เป็น JSON - ข้อกำหนดเบื้องต้นและการตั้งค่า
ก่อนที่คุณจะเริ่ม, ให้แน่ใจว่าคุณมีสิ่งต่อไปนี้:
- Java Development Kit (JDK) 8 หรือสูงกว่า ที่ติดตั้งบนเครื่องของคุณ.
- Maven สำหรับการจัดการการพึ่งพา.
- บัญชี Aspose Cloud พร้อม client ID และ client secret.
ดาวน์โหลดเวอร์ชันล่าสุดจาก หน้านี้.
ติดตั้ง SDK ผ่าน Maven:
<dependency>
<groupId>com.aspose</groupId>
<artifactId>aspose-omr-cloud</artifactId>
<version>23.12</version>
</dependency>
หรือใช้บรรทัดคำสั่ง:
mvn install com.aspose:aspose-omr-cloud
เพิ่มคำสั่ง import ต่อไปนี้ในโครงการ Java ของคุณ:
import com.aspose.omr.cloud.ApiClient;
import com.aspose.omr.cloud.Configuration;
import com.aspose.omr.cloud.api.OMRApi;
import com.aspose.omr.cloud.model.*;
คุณจะต้องกำหนดค่าการรับรองความถูกต้องด้วย:
Configuration.getDefaultApiClient().setBasePath("https://api.aspose.cloud");
Configuration.getDefaultApiClient().setClientId("YOUR_CLIENT_ID");
Configuration.getDefaultApiClient().setClientSecret("YOUR_CLIENT_SECRET");
PDF to JSON in Java
งานหลักคือการส่งไฟล์ PDF ไปยังบริการ OMR และรับการแสดงผลเป็น JSON ของข้อมูลที่สกัดออกมา SDK จะทำหน้าที่แยกการเรียก HTTP ให้คุณสามารถมุ่งเน้นที่ตรรกะของธุรกิจได้
คุณสมบัติหลักของ Aspose.OMR Cloud SDK for Java
- การประมวลผล OMR ความแม่นยำสูง สำหรับแผ่นคำตอบที่สแกน.
- การประมวลผลแบบชุด รองรับหลายไฟล์ PDF.
- ผลลัพธ์ JSON โดยตรง ที่เหมาะสำหรับบริการต่อเนื่อง.
- การเพิ่มประสิทธิภาพหน่วยความจำในตัว สำหรับเอกสารขนาดใหญ่.
การปรับจูนประสิทธิภาพด้วย Aspose.OMR Cloud SDK สำหรับ PDF เป็น JSON
เมื่อทำการแปลงไฟล์ PDF จำนวนมากหรือไฟล์ที่มีขนาดใหญ่มาก ควรพิจารณาดังต่อไปนี้:
- เปิดใช้งาน โหมดสตรีมมิ่ง เพื่อหลีกเลี่ยงการโหลด PDF ทั้งหมดเข้าสู่หน่วยความจำ
- เพิ่ม ขนาด heap ของ JVM (
-Xmx2gหรือมากกว่า) สำหรับงานที่หนัก - ใช้ parallel streams เพื่อประมวลผลไฟล์พร้อมกัน
การจัดการหน่วยความจำสำหรับการแปลง PDF ขนาดใหญ่โดยใช้ Aspose.OMR Cloud SDK
ไฟล์ PDF ขนาดใหญ่อาจทำให้เกิด OutOfMemoryError. เพื่อบรรเทา:
- ประมวลผลหน้าใน chunks โดยใช้พารามิเตอร์
extractPageRange. - ปล่อยวัตถุ
OMRTaskอย่างทันท่วงทีหลังการใช้งาน. - ตรวจสอบการใช้หน่วยความจำด้วยเครื่องมือเช่น VisualVM.
การแก้ไขปัญหาการแปลง PDF เป็น JSON ที่พบบ่อย
| ข้อความข้อผิดพลาด | สาเหตุที่เป็นไปได้ | วิธีแก้ไข |
|---|---|---|
401 Unauthorized |
ข้อมูลประจำตัวของไคลเอนต์ไม่ถูกต้อง | ตรวจสอบ client ID/secret และสร้าง token ใหม่ |
InvalidFileFormat |
ไฟล์ที่อัปโหลดไม่ใช่ PDF | ตรวจสอบให้ไฟล์มีนามสกุล .pdf และ MIME type ที่ถูกต้อง |
ConversionTimeout |
ไฟล์ขนาดใหญ่เกินเวลาที่กำหนดเริ่มต้น | เพิ่มค่า timeout ในการกำหนดค่า ApiClient |
ขั้นตอนการแปลง PDF เป็น JSON ใน Java
-
Initialize the OMR client: สร้างอินสแตนซ์ของ
OMRApiโดยใช้ApiClientที่กำหนดค่าไว้OMRApi omrApi = new OMRApi(); -
Upload the PDF file: ใช้
omrApi.uploadFileเพื่อส่งไฟล์ PDF ไปยังคลาวด์
Documentation: official documentation
API reference: API reference -
Create a conversion task: เรียก
omrApi.createTaskพร้อมกับ ID ของไฟล์ที่อัปโหลดและขอผลลัพธ์เป็น JSONOMRTaskRequest request = new OMRTaskRequest(); request.setFileId(uploadedFileId); request.setOutputFormat("json"); OMRTaskResponse task = omrApi.createTask(request); -
Poll for task completion: ตรวจสอบ
omrApi.getTaskStatus(task.getId())อย่างต่อเนื่องจนกว่าสถานะจะเป็นCompletedwhile (!omrApi.getTaskStatus(task.getId()).getStatus().equals("Completed")) { Thread.sleep(2000); } -
Download the JSON result: ดึงไฟล์ JSON โดยใช้
omrApi.downloadResult(task.getResultFileId())byte[] jsonData = omrApi.downloadResult(task.getResultFileId()); Files.write(Paths.get("output.json"), jsonData);
PDF เป็น JSON ใน Java - ตัวอย่างโค้ดเต็ม
ตัวอย่างต่อไปนี้แสดงการแปลงแบบ end‑to‑end อย่างเต็มรูปแบบจากไฟล์ PDF ในเครื่องเป็นเอกสาร JSON โดยใช้ Aspose.OMR Cloud SDK for Java.
หมายเหตุ: ตัวอย่างโค้ดนี้แสดงการทำงานหลักของฟังก์ชัน ก่อนนำไปใช้ในโครงการของคุณ โปรดตรวจสอบให้แน่ใจว่าได้อัปเดตเส้นทางไฟล์ (
sample.pdf,output.json) ให้ตรงกับตำแหน่งไฟล์จริงของคุณ ตรวจสอบว่าขึ้นตอนการพึ่งพาทั้งหมดได้ติดตั้งอย่างถูกต้อง และทำการทดสอบอย่างละเอียดในสภาพแวดล้อมการพัฒนา หากคุณพบปัญหาใด ๆ โปรดดูที่ เอกสารอย่างเป็นทางการ หรือ ติดต่อ ทีมสนับสนุน เพื่อขอความช่วยเหลือ.
การแปลงเอกสารบนคลาวด์ผ่าน REST API ด้วย cURL
Aspose.OMR Cloud SDK ยังเปิดเผย REST API ที่สามารถเรียกใช้โดยตรงด้วย cURL ได้ ขั้นตอนทั่วไปมีดังต่อไปนี้.
1. รับรองความถูกต้องและรับโทเค็นการเข้าถึง
curl -X POST "https://api.aspose.cloud/connect/token" \
-H "Content-Type: application/x-www-form-urlencoded" \
-d "grant_type=client_credentials&client_id=YOUR_CLIENT_ID&client_secret=YOUR_CLIENT_SECRET"
2. อัปโหลด PDF แหล่งที่มา
curl -X POST "https://api.aspose.cloud/v4.0/omr/files" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-F "file=@sample.pdf"
3. การแปลง JSON ของคำขอ
curl -X POST "https://api.aspose.cloud/v4.0/omr/tasks" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-d '{"fileId":"UPLOADED_FILE_ID","outputFormat":"json"}'
4. ดาวน์โหลดไฟล์ JSON ที่ได้
curl -X GET "https://api.aspose.cloud/v4.0/omr/files/RESULT_FILE_ID/content" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-o output.json
สำหรับรายละเอียดเพิ่มเติม โปรดดูที่ เอกสาร API อย่างเป็นทางการ
สรุป
การแปลง PDF เป็น JSON ใน Java กลายเป็นเรื่องง่ายด้วย Aspose.OMR Cloud SDK for Java. ไลบรารีจัดการการอัปโหลดไฟล์, การประมวลผล OMR, และการสร้าง JSON, ทำให้ผู้พัฒนาสามารถมุ่งเน้นการรวมผลลัพธ์เข้ากับแอปพลิเคชันของตนได้. อย่าลืมขอรับใบอนุญาตที่เหมาะสมสำหรับการใช้งานในสภาพแวดล้อมการผลิต; คุณสามารถรับใบอนุญาตชั่วคราวจาก temporary license page หรือสำรวจตัวเลือกการกำหนดราคาครบถ้วนบนหน้าผลิตภัณฑ์. เมื่อ SDK ถูกติดตั้ง, โค้ดที่ปรับประสิทธิภาพ, และการจัดการข้อผิดพลาดที่ชัดเจน, คุณสามารถดึงข้อมูลโครงสร้างจาก PDF ได้อย่างเชื่อถือได้ในระดับใหญ่.
คำถามที่พบบ่อย
ไลบรารี PDF เป็น JSON ใน Java จัดการกับเลย์เอาต์ฟอร์มที่ซับซ้อนได้อย่างไร?
SDK จะทำการวิเคราะห์องค์ประกอบภาพของ PDF และแมปไปยังสคีม่า JSON ที่คงลำดับชั้นไว้ สำหรับเลย์เอาต์ที่ซับซ้อน คุณอาจต้องปรับเทมเพลต OMR หรือทำการประมวลผลต่อหลังจากได้ JSON แล้ว ดูที่ เอกสารอย่างเป็นทางการ สำหรับการปรับแต่งเทมเพลต
ฉันสามารถทำการแปลง PDF เป็น JSON ใน Java โดยไม่สูญเสียรูปแบบได้หรือไม่?
ใช่ การแปลงจะคงโครงสร้างเชิงตรรกะของฟิลด์ฟอร์มไว้ แม้ว่าการจัดรูปแบบเชิงภาพจะไม่เป็นส่วนหนึ่งของ JSON แต่ข้อมูลตำแหน่งจะทำให้คุณสามารถสร้างเลย์เอาต์ใหม่ได้หากต้องการ ดูส่วน การแปลง PDF เป็น JSON โดยไม่สูญเสียรูปแบบใน Java สำหรับแนวทางปฏิบัติที่ดีที่สุด.
การประมวลผลแบบแบตช์รองรับการแปลง PDF เป็น JSON ใน Java หรือไม่?
แน่นอน. API แบตช์ของ SDK ช่วยให้คุณส่งไฟล์ PDF หลายไฟล์ในคำขอเดียว ทำให้สามารถทำ PDF to JSON Batch Processing in Java ได้อย่างมีประสิทธิภาพ. จัดการกับ ID งานที่ส่งกลับเพื่อดึงผลลัพธ์ JSON แต่ละรายการ.