כיצד להמיר נתוני PDF ל-JSON PlatoBlockchain Data Intelligence. חיפוש אנכי. איי.

כיצד להמיר נתוני PDF ל-JSON

קובצי PDF הם אחד מפורמטי הנתונים הנפוצים ביותר עבור מסמכים עסקיים. עסקים וארגונים רבים תלויים בכלים שונים כדי ליצור ולקרוא מסמכי PDF אלה.

עם זאת, קשה לחלץ נתונים ספציפיים/חשובים מקובצי PDF באופן סלקטיבי.

כאן נכנס לתמונה JSON (Javascript Object Notation).

זהו אחד הפורמטים האהובים ביותר להחלפת מידע. במיוחד כשמדובר ביישומי אינטרנט, רוב הנתונים מועברים באמצעות JSON דרך ממשקי API ו שאילתות DB.

בפוסט זה בבלוג, נסתכל על:

  • כיצד Nanonets מייצרת המרת נתונים מורכבים ממסמכי PDF עסקיים מסובכים לקובצי JSON מובנים.
  • כמה טכניקות קוד פתוח בחינם להמרת קובצי PDF ל-JSON באמצעות מודולי Python, Linux ו-Javascript.
    • כיצד לחלץ נתונים ספציפיים/מורכבים מקובצי PDF כגון טבלאות ומחרוזות ספציפיות של טקסט.
    • זרימות עבודה מותאמות אישית שיכולות לסייע לאוטומטיות של תהליך המרת קובצי PDF ל-JSON.

ננונטים הממירות נתוני PDF ספציפיים ליציאות JSON

רוצה לחלץ נתונים ספציפיים ממסמכי PDF ולהמיר ל-JSON? לבדוק ממשק API של Nanonets לאוטומטי של המרת PDF ל-JSON מכל סוג של מסמך טכני!


Nanonets ממיר PDF ל-JSON אוטומטי

  • הרשם לתוכנית החינמית של Nanonets שמציעה קרדיט של 100 עמודים - אין צורך בכרטיס אשראי.
  • הוסף אצווה של קובצי PDF של העסק שלך
  • Nanonets לוכדת אוטומטית שדות ממגוון סוגי מסמכים (חשבוניות, קבלות, רישיון נהיגה, דרכונים וטבלאות)
    • אתה יכול גם לאמן את ה-AI של Nanonets לזהות/ללכוד רק את שדות הנתונים המעניינים אותך מכל סוג של מסמך!
  • אמת את הנתונים שחולצו וייצא כפלטי JSON
    • אתה יכול גם לשלב את Nanonets עם שורה של תוכנות ERP - לקבוע שיחה עם מומחי הבינה המלאכותית שלנו כדי לבחון את מקרה השימוש שלך.
  • בדקו אותנו ממשק API של OCR כדי להפוך את זרימות העבודה של PDF ל-JSON לאוטומטיות
כיצד להמיר נתוני PDF ל-JSON PlatoBlockchain Data Intelligence. חיפוש אנכי. איי.
המרת PDF ל-JSON עם Nanonets

רוצה לכידת נתונים ממסמכי PDF והמר ל-JSON, csv או Excel? גלה כיצד ננונטים יכולים לעזור.

כיצד להמיר נתוני PDF ל-JSON PlatoBlockchain Data Intelligence. חיפוש אנכי. איי.
משתמש Nanonets סופר מאושר


הצורך בהמרת PDF ל- JSON

כמעט כל עסק מסתמך על מסמכים לשיתוף מידע. אלה יכולים להיות תיעוד, חשבוניות, הגשות מס, קבלות, דוחות רפואיים ועוד ועוד.

מסמכים אלה משותפים/מתקבלים לרוב כקובצי PDF.

אבל אם אתה רוצה לחפש מידע קריטי או לבנות לוח מחוונים כדי לנתח ולאחסן את כל המידע החשוב, איסוף ידני של נתונים מקובצי PDF אלה יכול להיות משימה בעלייה.

אם קובצי ה-PDF נוצרים באופן אלקטרוני, נוכל להעתיק ולהדביק מידע במקורות נתונים; אחרת, אולי נצטרך השתמש ב-OCR וטכניקות למידת מכונה להפקת מידע.

כמו כן, הנתונים בקובצי PDF אינם מאורגנים או ניתנים לקריאה ישירה במכונה. לכן, ייתכן שנצטרך לחפש מידע באופן ידני.

אבל כשזה מגיע ל-JSON, הכל מאורגן בצמדי מפתח-ערך. הנה דוגמה.

{
  "company_name": "Company Name",
  "Invoice_date": "Date ",
  "Invoice_total":"$0.00",
  "Invoice_line_items: "",
  "Invoice_tax": ""
} 

אם אתה יכול לראות את פורמט JSON לעיל, הנתונים מאורגנים יותר, ותוכל גם לשתף מידע זה באינטרנט בצורה נוחה יותר. זו הסיבה שיצוא נתונים מקובצי PDF ל-JSON הוא חיוני עבור הרבה חברות.

יתרונות עסקיים שמגיעים עם JSON

לפורמט הנתונים JSON יש הרבה יתרונות על פני קובצי PDF לעסקים:

  1. JSON הוא מהיר יותר: תחביר JSON קל לשימוש; בכל פעם שאתה מנסה לנתח דרך כל נתוני JSON, הביצוע מהיר הרבה יותר בהשוואה לקובצי PDF ופורמטים אחרים של נתונים. הסיבה לכך היא שהתחביר קל משקל ומבצע את התגובה במהירות.
  2. קריא יותר: נתוני JSON הם יותר קריאים; יהיה לנו מיפוי נתונים פשוט עם מפתחות וערכים. לכן, אם אתה מחפש משהו או מארגן את הנתונים מקובצי PDF, JSON יהיה נוח יותר. בנוסף, JSON תומך בקינון הנתונים, ועם זה ניתן לאחסן ביעילות נתונים מטבלאות.
  3. סכמה נוחה: JSON הוא אוניברסלי עבור רוב מערכות ההפעלה ושפות התכנות; לכן, אם אתה בונה תוכנה או יישום אינטרנט כלשהו לאוטומציה של העסק שלך, JSON צריכה להיות תבנית הנתונים הנכונה. כמו כן, רוב דפדפני האינטרנט תומכים בפורמט JSON; מכאן שאיננו צריכים להשקיע מאמצים נוספים בכדי להשתמש בתוכנות צד שלישי כדי לקרוא את נתוני JSON.
  4. שיתוף קל: JSON הוא הכלי הטוב ביותר לשיתוף נתונים בכל גודל, אפילו טבלאות גדולות או טקסט וכו '. זאת מכיוון JSON שומר נתונים במערכים, כך שהעברת נתונים הופכת אותם לנגישים יותר. מסיבה זו, JSON הוא פורמט קבצים מעולה לממשקי API ופיתוח אתרים באינטרנט.

בסעיף הבא, בואו נסתכל על כמה מהאתגרים העומדים בפנינו בעת המרת קובצי PDF לפורמט JSON.


לננון יש הרבה מעניינים להשתמש במקרים שיכולים לייעל את הביצועים העסקיים שלך, לחסוך בעלויות ולהגביר את הצמיחה. תגלה כיצד מקרי השימוש של Nanonets יכולים לחול על המוצר שלך.


אתגרים עם המרה מ- PDF ל- JSON

בואו נסתכל על כמה מהאתגרים בייצוא מקובצי PDF ל-JSON.

  1. איתור גופנים: אנשים משתמשים בגופנים, בצבעים וביישור שונים בתוך מסמכי PDF. לפיכך, קשה מאוד למנתחים לקרוא את אלה. כמו כן, בעת ייצוא זה, נצטרך להגדיר כללים ספציפיים כך שאחרי שמנתח את הנתונים, כל המידע צריך להיות ממופה כהלכה בפורמט JSON. במקרים כאלה, נעשה שימוש נרחב בביטויים רגולריים לבחירת טקסט ספציפי ואז לייצואו למפתח הנכון בפורמט JSON.
  2. איתור טקסט ממסמכים סרוקים: כפי שנדון, כאשר קובצי ה- PDF אינם נוצרים אלקטרונית, נצטרך להשתמש ב- OCR ובחירה ב- OCR היא מכרעת. למרות שרבים מהמשתמשים מנסים כלי קוד פתוח כמו tesseract, יש להם סט מגבלות משלהם. לדוגמא, אם הטקסט נלכד בצורה לא נכונה או מיושר לא נכון בעת ​​הצילום, ייתכן ש- tesseract לא יעבוד, והבחירה בכלים אחרים עשויה להיות יקרה.
  1. זיהוי טבלאות: מרבית המסמכים העסקיים מכילים מידע טבלאי, וקביעת טבלאות אלה ממסמכי PDF והמרתם ל- JSON היא משימה מאתגרת. ישנן כמה ספריות המבוססות על Python ו- Java שיכולות לסייע בחילוץ טבלאות ממסמכי PDF מתוצרת אלקטרונית.
  2. זיהוי טבלאות מקובצי PDF סרוקים: כאשר קובצי ה-PDF נסרקים, רוב החבילות אינן פועלות. במקרה זה, אם נבחר OCR בקוד פתוח כמו tesseract, הוא עלול לחלץ טקסט אבל יכול לאבד את כל עיצוב הטבלה. לכן, זה מאתגר לבחור פריטי מתאר בפורמט שגוי. זה המקום שבו נצטרך להשתמש באלגוריתמים מבוססי Machine Learning ו-Deep Learning. חלק מהאלגוריתמים הפופולריים מבוססים על CNN, והיה מחקר רב בשיפור האלגוריתמים הללו.

להלן כמה ממאמרי המחקר הפותרים את בעיית חילוץ הטבלה ממסמכים:

בחלק הבא, בואו נסתכל כיצד לנתח נתונים מ- PDF ליצירת קבצי JSON.

ניתוח נתונים מקובצי PDF ויצירת קובצי JSON באמצעות Python ו-Linux

ניתוח באמצעות קובצי PDF אינו משימה מסובכת אם יש לך ניסיון במפתחים.

ראשית, נצטרך לבדוק אם קבצי ה-PDF שלנו מכילים נתוני טקסט או מורכבים מתמונות סרוקות. נצטרך לבדוק אם אנחנו יכולים לחלץ נתוני טקסט או להעביר את הקבצים דרך ספריית OCR אם לא הוחזר טקסט.

ניתן להשיג זאת באמצעות ספריית Python או על ידי הסתמכות על כמה כלי עזר של שורת הפקודה של לינוקס.

Pdftotext היא אחת הספריות הפופולריות ביותר לניתוח קובצי PDF אלקטרוניים. נוכל להשתמש בזה כדי להמיר את כל נתוני ה-PDF לפורמט טקסט ואז לדחוף אותם לפורמט JSON.

הנה כמה מההוראות כיצד אנו יכולים להשתמש pdftotext ולנתח דרך PDF במכונת לינוקס.

ראשית, התקן כלי שורת פקודה:

sudo apt-get install poppler-utils

בשלב הבא השתמש ב - pdftotext פקודה והוסף את נתיב המקור של קובץ ה- PDF ואת מיקום קובץ הטקסט היעד.

pdftotext {PDF-file} {text-file}

עם זאת, אנו אמורים להיות מסוגלים לחלץ את כל הטקסט הקריא מקבצי ה- PDF.

כדי ליצור קובץ JSON, נצטרך לעבוד שוב על סקריפט המבוסס על הנתונים שלנו שיכול לנתח את הטקסט ולייצא אותם לצמדי מפתח-ערך רלוונטיים.

להלן סקריפט לדוגמא שכתבנו ב-Python שממיר פשוט .txt קובץ לתבנית JSON.

import json
  
filename = 'data.txt'
 
dict1 = {}
  
with open(filename) as fh:
  
    for line in fh:
        command, description = line.strip().split(None, 1)
        dict1[command] = description.strip()
  
# creating json file
# the JSON file is named as test1
out_file = open("test1.json", "w")
json.dump(dict1, out_file, indent = 4, sort_keys = False)
out_file.close()

התחשב בנתונים בתוך קובץ הטקסט:

invoice_id #234
invoice_name Invoice from AWS
invoice_total $345

כאן ייבאנו לראשונה את ספריית JSON המובנית. כעת אנו יוצרים סוג נתוני מילון לאחסון כל זוגות ערך המפתח מקבצי הטקסט. לאחר מכן, אנו חוזרים על כל שורה בקובץ ומפזרים אותו לפקודה, לתיאור ולשמור אותו במילון שנוצר. לבסוף, אנו יוצרים קובץ JSON חדש ומשתמשים ב- json.dump שיטה לזרוק את המילון לקובץ JSON עם תצורה ספציפית הכוללת מיון וכניסה.

עם זאת, הנתונים שלנו מקובצי PDF לא יהיו מסודרים כמובא בדוגמה; לכן, נצטרך להשתמש בצינורות וסקריפטים מותאמים אישית כדי לעבור על עיצוב טקסט מסובך. במקרים כאלה, כלים כמו ננונטים תהיה בחירה מצוינת, ונבחן גם כיצד ננוןנט פותרת את הבעיה בצורה הרבה יותר קלה בסעיפים הבאים.

לפני כן, בואו נסתכל על ספרייה נוספת שממירה PDF ל- JSON באמצעות node.js:

pdf2json הוא node.js מודול המנתח והמיר PDF מפורמט בינארי לפורמט JSON; זה בנוי עם pdf.js ומרחיב אותו עם רכיבי טופס אינטראקטיביים ותכני טקסט המנתחים מחוץ לדפדפן.

הנה דוגמה לשימוש במודול זה לניתוח קבצי JSON שלך:

ראשית, וודאו שיש npm להתקין ולהתקין את המודול באמצעות הפקודה הבאה:

npm install pdf2json

לאחר מכן, בשרת הצמתים שלך, אתה יכול להשתמש בקטע הבא הטוען את ה- pdf2json ומייצא קובצי PDF ל- JSON:

let fs = require('fs'),
        PDFParser = require("pdf2json");
 
    let pdfParser = new PDFParser();
 
    pdfParser.on("pdfParser_dataError", errData => console.error(errData.parserError) );
    pdfParser.on("pdfParser_dataReady", pdfData => {
        fs.writeFile("./pdf2json/test/F1040EZ.json", JSON.stringify(pdfData));
    });
 
    pdfParser.loadPDF("./pdf2json/test/pdf/fd/form/F1040EZ.pdf");

קטע הקוד שלעיל משתמש בקובץ JSON לדוגמא מהמודול ומייצא אותו לקובץ JSON, אנו יכולים לבדוק זאת ב ./test/target/ תיקייה בפרויקט שלך. ב

למטה, תמצא צילום מסך של האופן שבו המודול מייצא את קבצי ה-JSON:

כיצד להמיר נתוני PDF ל-JSON PlatoBlockchain Data Intelligence. חיפוש אנכי. איי.
ייצוא JSON

לניתוח קובצי PDF בטבלאות, ייתכן שהספריות האלה פשוט לא יעבדו!


תצטרך למנף אלגוריתמים של OCR ו- Machine Learning כדי לחלץ נתונים טבלאיים לתוך JSON. Nanonets עושה בדיוק את זה כפי שניתן לראות להלן:

כיצד להמיר נתוני PDF ל-JSON PlatoBlockchain Data Intelligence. חיפוש אנכי. איי.
ננונטים הממירות נתונים מ-PDF ל-JSON 


המרת נתונים מותאמת אישית מ- PDF ל- JSON

לפעמים, בזמן חילוץ הנתונים ממסמכים עסקיים, אנו עשויים לדרוש התאמה אישית. לדוגמה, נניח אם אנו רוצים רק דפים או טבלאות מסוימות, איננו יכולים לעשות זאת ישירות. במקרה זה, ייתכן שנצטרך לספק כללים נוספים למנתחים, וזה שוב גוזל זמן. אבל בואו נראה איך אנחנו יכולים לעשות את ההתאמה האישית ואת הפעולות שרוב האנשים צריכים.

להלן כמה מהפעולות הנדרשות להתאמה אישית בהמרת PDF ל- JSON:

  • חלץ רק טקסט או דפים מסוימים מקובצי PDF
  • חלץ את כל הטבלאות ממסמכי PDF
  • חלץ עמודות מסוימות מטבלאות מסוימות בקובצי PDF
  • סנן טקסט מקובצי PDF לפני ייצואם ל- JSON
  • יצירת JSON מקונן על בסיס הנתונים שחולצו מקובצי PDF
  • פורמט מבנה JSON על סמך נתונים
  • צור, מחק, עדכן ערכים של שדות מסוימים ב- JSON לאחר החילוץ

אלו הן כמה מהפעולות הנדרשות לעיתים קרובות לאחסון הנתונים שלנו בדרכים שונות, או לומר אם אנו בונים ממשקי API ליישום. בואו נראה איך נוכל להשיג את אלה.

חילוץ טקסט מיוחד: בקובצי PDF נוכל לחלץ את הטקסט המסוים באמצעות ביטויים רגולריים; למשל, נניח שאם אנו רוצים שכל הודעות הדוא"ל ומספרי הטלפון משתמשים ב- regex, נוכל לבחור אותם. אם קבצי ה- PDF הם בפורמט סרוק, עלינו לאמן אותם על אלגוריתם למידה עמוק שיכול להבין את פריסות קבצי ה- PDF ולחלץ שדות בהתבסס על הקואורדינטות וההערה לנתוני האימון. אחד ממאגרי הקוד הפופולרי ביותר להבנת פריסות מסמכים וחילוץ טקסט הוא LayoutML, והוא מתאמן על דגמי BERT לחילוץ טקסט מותאם אישית. עם זאת, עלינו לקבל מספיק נתונים כדי להשיג דיוק גבוה יותר בחילוץ טקסט.

התאמה אישית של טבלה: כפי שנדון, ניתן לחלץ טבלאות באמצעות ספריות כמו Camelot ו- Tabula-py או באמצעות OCR ואלגוריתמים מבוססי למידה עמוקה. אך לצורך התאמה אישית, נצטרך להשתמש בספריות כמו פנדות; זה יאפשר לנו ליצור, לעדכן ולסדר את הנתונים מהטבלאות. הוא משתמש בסוג נתונים מותאם אישית הנקרא מסגרת נתונים, אשר נעשה שימוש נרחב לצורך מניפולציה והתאמה אישית של נתוני הטבלה. יתרונות נוספים בשימוש בפנדות כוללים כתיבת פונקציות מותאמות אישית שיכולות לבצע פעולות מתמטיות מסוימות במהלך תהליך החילוץ.

עיצוב נתוני JSON: לאחר ייצוא קובצי PDF ל- JSON, עיצובם הוא משימה פשוטה, מכיוון שיש לנו סוג נתונים הניתן להתאמה אישית יותר שהוא צמדי ערך המפתח. נוכל לפתח סקריפטים פשוטים או להשתמש בכלים מקוונים לחיפוש זוגות ערך מפתח אלה ולעצב אותם. חלק מהפרמטרים הנפוצים ביותר לעיצוב כוללים הזחה, מפרידים, מפתחות מיון, בדיקות מעגליות, בדיקות נתונים. אם משתמשים ב- JSON כ- API, נוכל להשתמש ב- Postman או בכל סיומת דפדפן כדי לעצב את הנתונים ולנהל אינטראקציה עם ה- API.


רוצה לחלץ מידע ממסמכי PDF ולהמיר אותם לפורמט JSON? בדוק את Nanonets כדי להפוך את הייצוא לאוטומטי של כל מידע מכל מסמך PDF ל-JSON.


בול זמן:

עוד מ AI & Machine Learning