כיצד להמיר PDF למחברת Excel ניתנת לעריכה ב-Java

כיצד להמיר PDF למחברת Excel ניתנת לעריכה ב-Java

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

המרת PDF למחברת Excel בסיסית

Document.save עם SaveFormat.Xlsx מבצע המרה פשוטה: הטקסט והתוכן הדומה לטבלה של כל דף מוכנס לגיליון משלו.

import org.aspose.pdf.Document;
import org.aspose.pdf.SaveFormat;

try (Document doc = new Document("report.pdf")) {
    doc.save("report.xlsx", SaveFormat.Xlsx); // SaveFormat.Excel is an alias
}

התאם את הייצוא לקבלת גיליונות נקיים יותר

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

import org.aspose.pdf.Document;
import org.aspose.pdf.ExcelSaveOptions;

try (Document doc = new Document("report.pdf")) {
    ExcelSaveOptions options = new ExcelSaveOptions();
    options.setFormat(ExcelSaveOptions.ExcelFormat.XLSX); // default
    options.setMinimizeTheNumberOfWorksheets(true);        // merge pages onto fewer sheets
    options.setInsertBlankColumnAtFirst(false);            // no leading spacer column
    options.setUniformWorksheets(false);                   // allow per-sheet column widths
    options.setStructuralHeuristics(true);                 // recover tables on untagged PDFs
    options.setSuppressRunningHeadersFooters(true);         // drop repeated page furniture
    doc.save("report.xlsx", options);
}

setMinimizeTheNumberOfWorksheets(true) הוא האפשרות היחידה שמשנה במידה רבה את צורת הפלט: ללא הוא, דוח של 20 עמודים מייצר 20 גיליונות.

המרת חוברת עבודה של Excel חזרה ל-PDF

לאחר שהמבקר ערך את חוברת העבודה, החזר אותה לצורת PDF על-ידי טעינה באמצעות ExcelLoadOptions ושמירת המסמך המתקבל:

import org.aspose.pdf.Document;
import org.aspose.pdf.ExcelLoadOptions;

try (Document doc = new Document("book.xlsx", new ExcelLoadOptions())) {
    doc.save("book.pdf");
}

ראה גם

 עברית