نحوه تبدیل یک PDF به یک کتابکار Excel قابل ویرایش در Java
این راهنما نشان میدهد چگونه یک PDF را به کاربرگی تبدیل کنید که واقعاً قابل ویرایش باشد، نه فقط یک خروجی صاف. شما یک PDF را با ExcelSaveOptions به XLSX تبدیل خواهید کرد، خروجی را تنظیم میکنید تا جداول بهصورت تمیز بر روی تعداد معقولی از شیتها قرار گیرند، و کاربرگ ویرایششده را با ExcelLoadOptions به PDF برگردانید.
تبدیل یک PDF به یک کاربرگ اکسل پایه
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
پس از اینکه مرورگر کتاب کار را ویرایش کرد، با بارگذاری آن با استفاده از ExcelLoadOptions و ذخیره سند حاصل، آن را دوباره به قالب PDF برگردانید:
import org.aspose.pdf.Document;
import org.aspose.pdf.ExcelLoadOptions;
try (Document doc = new Document("book.xlsx", new ExcelLoadOptions())) {
doc.save("book.pdf");
}