Hướng Dẫn Công Cụ JSON: Chuyển Đổi Tài Liệu và Dữ Liệu Sang JSON và Ngược Lại
Hướng dẫn này giải thích cách các công cụ JSON đọc và viết file, định dạng tài liệu mà PDF sang JSON và Word sang JSON tạo ra, và công cụ nào nên dùng cho mỗi công việc.
Tại Sao Dùng JSON
JSON là định dạng dữ liệu mà các chương trình, dịch vụ web và mô hình AI đọc dễ nhất: các đối tượng có trường được đặt tên, danh sách, số, văn bản, true, false và null, không gì khác. Tài liệu và bảng tính không được lưu theo cách đó. Các công cụ trong nhóm này kết nối khoảng cách đó theo cả hai hướng: chúng chuyển PDF, file Word, bảng tính, CSV, YAML và XML thành JSON, và chúng chuyển JSON trở lại thành các file mà con người đọc được, như PDF, Word, Excel, CSV và HTML.
Mọi công cụ chạy trên máy chủ của chúng tôi qua một kết nối an toàn và xóa file đã tải lên trong vòng 60 phút. Đầu vào văn bản có thể được dán trực tiếp thay vì tải lên.
Công Cụ Nào Cho Công Việc Nào
| Bạn có | Bạn muốn | Dùng |
|---|---|---|
| Một PDF | Văn bản, bảng và metadata dưới dạng dữ liệu | PDF sang JSON |
| Một tài liệu Word | Tiêu đề, đoạn văn, danh sách và bảng dưới dạng dữ liệu | Word sang JSON |
| Một workbook Excel | Bản ghi, hàng hoặc cột | Excel sang JSON |
| Một file CSV hoặc TSV | Một mảng JSON có giá trị được định kiểu | CSV sang JSON |
| Một file YAML | Cùng dữ liệu dưới dạng JSON | YAML sang JSON |
| Một file XML | Đối tượng, thuộc tính và mảng | XML sang JSON |
| JSON | Một PDF để đọc hoặc in | JSON sang PDF |
| JSON | Một workbook Excel | JSON sang Excel |
| JSON | Một file CSV | JSON sang CSV |
| JSON | Một tài liệu Word có thể chỉnh sửa | JSON sang Word |
| JSON | Một trang web | JSON sang HTML |
| JSON | YAML cho một file cấu hình | JSON sang YAML |
| JSON | XML cho một hệ thống khác | JSON sang XML |
| JSON lộn xộn hoặc không hợp lệ | JSON sạch, hợp lệ | Định Dạng JSON |
| Hai file JSON | Một danh sách những gì đã thay đổi | So Sánh JSON |
Markdown có bộ đôi riêng của nó: Markdown sang JSON xuất một cây tài liệu và JSON sang Markdown biến JSON thành một dàn ý hoặc bảng Markdown.
Định Dạng Tài Liệu
PDF sang JSON và Word sang JSON viết ra cùng một cấu trúc, vì vậy một đoạn mã có thể xử lý cả hai. Cấp cao nhất luôn có các trường sau:
{
"format": "acepdfmd-document",
"version": 1,
"source": {"type": "pdf", "filename": "report.pdf", "title": "Q3 Report", "pages": 12},
"pages": [{"number": 1, "width": 612, "height": 792, "words": 380, "text": "..."}],
"blocks": [
{"type": "heading", "level": 1, "text": "Q3 Report"},
{"type": "paragraph", "text": "Revenue grew..."},
{"type": "list", "ordered": false, "items": [{"level": 0, "text": "Europe"}]},
{"type": "table", "header": ["Region", "Q3"], "rows": [["Europe", 1200.5]]}
],
"tables": [{"index": 1, "page": 3, "rows": [["Region", "Q3"], ["Europe", 1200.5]]}],
"form_fields": [{"name": "email", "type": "text", "value": "[email protected]"}],
"extraction": {"engine": "pdf_to_markdown/layout", "mode": "structure", "ocr": false, "warnings": []}
}
Các trường này có nghĩa như sau:
- source: file này là gì, cùng với metadata mà nó mang theo (tiêu đề, tác giả, chủ đề, từ khóa, ngày tạo và sửa đổi, số trang). File Word thêm số từ, số bảng và số hình ảnh.
- pages: một mục cho mỗi trang PDF với kích thước theo điểm, độ xoay, số từ và văn bản của nó. File Word không có pages, vì Word chỉ dàn trang khi in.
- blocks: tài liệu theo thứ tự đọc. Các loại là heading (với cấp độ 1 đến 6), paragraph (với tên kiểu tùy chọn từ Word), list (có đánh số hay không, các mục có cấp độ lồng nhau), table (tiêu đề cùng các hàng đã định kiểu), code, blockquote, rule và image.
- tables: đối với PDF, mọi bảng được phát hiện cùng trang nó được tìm thấy và, đối với một bảng kéo dài qua nhiều trang, trang nó kết thúc. Các ô trông giống số là số.
- form_fields: chỉ xuất hiện khi PDF có biểu mẫu. Mỗi trường có tên, loại (text, choice, button hoặc signature) và giá trị hiện tại.
- extraction: bộ chuyển đổi nào đã chạy, chế độ bạn đã chọn, liệu OCR có cần thiết hay không, và mọi cảnh báo, chẳng hạn một bảng không thể phát hiện được.
Phiên bản 1 của định dạng này chỉ được thêm trường mới; các trường hiện có giữ nguyên tên và ý nghĩa của chúng.
Dữ Liệu Dạng Bảng và Lồng Nhau
CSV và Excel là dạng bằng phẳng, JSON thì không. Khi JSON chuyển sang CSV hoặc Excel, các đối tượng lồng nhau được làm phẳng thành các tên cột có dấu chấm và các mảng thành các cột có chỉ số, vì vậy một bản ghi đơn hàng với một đối tượng customer và một mảng items trở thành các cột như customer.name, items[0].sku và items[1].sku. Khi CSV hoặc Excel chuyển trở lại thành JSON, các tiêu đề được viết theo cách đó được dựng lại thành các đối tượng và mảng lồng nhau. Một tiêu đề có dấu chấm thông thường trong đó, chẳng hạn một số phiên bản hoặc một từ viết tắt, được giữ nguyên không thay đổi.
Các giá trị được định kiểu khi vào: số trở thành số, true và false trở thành boolean, một ô trống trở thành null, và mọi thứ khác vẫn là chuỗi. Ngày xuất ra từ Excel được viết dưới dạng chuỗi ISO 8601, vì JSON không có kiểu dữ liệu ngày. Chuyển tùy chọn loại giá trị sang văn bản khi các mã định danh có số 0 ở đầu cần được giữ nguyên đúng như đã viết.
Xác Thực và Sửa Lỗi
Mọi công cụ JSON xác thực đầu vào của nó theo cùng một cách. Một file không hợp lệ sẽ bị từ chối cùng với dòng và cột của lỗi đầu tiên, và một đoạn trích ngắn của dòng đó. Định Dạng JSON cũng có thể sửa các lỗi mà mọi người dán vào thường gặp nhất: chú thích, dấu phẩy dư, chuỗi trong dấu nháy đơn, khóa không có dấu ngoặc kép, True, False và None viết hoa, NaN và Infinity, và các fence mã quanh văn bản. Khi một bản sửa được áp dụng, kết quả sẽ cho bạn biết, để không có gì thay đổi ngầm mà bạn không biết.
Quyền Riêng Tư
File đã tải lên và văn bản đã dán được xử lý trên máy chủ của chúng tôi và bị xóa trong vòng 60 phút; xem hướng dẫn quyền riêng tư để biết chi tiết. Không có gì được lưu trữ quá thời gian đó và không có gì được dùng cho mục đích khác.