v25.10
- Class PdfExtractor: berisi semua fungsi dari plugin: TextExtractor, ImageExtractor, FormExporter.
- Class TextExtractor: akan dihapus segera, gunakan PdfExtractor.
- Class ImageExtractor: akan dihapus segera, gunakan PdfExtractor.
- Class FormExporter: akan dihapus segera, gunakan PdfExtractor.
- Class TextExtractorOptions: diganti namanya menjadi Class ExtractTextOptions.
- Class ImageExtractorOptions: diganti namanya menjadi Class ExtractImagesOptions.
- Class FormExportToDsvOptions: diganti namanya menjadi Class ExtractFormDataToDsvOptions.
- Lihat Arsitektur Plugin Baru.
Contoh Penggunaan:
Contoh ini menunjukkan bagaimana cara mengekstrak konten teks dari dokumen PDF.
// Buat objek ExtractTextOptions untuk mengatur instruksi
var options = new ExtractTextOptions();
// Tambahkan path file input
options.AddInput(new FileDataSource("path_to_your_pdf_file.pdf"));
// Lakukan proses
var results = PdfExtractor.ExtractText(options);
// Dapatkan teks yang diekstrak dari objek ResultContainer
var textExtracted = results.ResultCollection[0].ToString();
Contoh Penggunaan:
Contoh ini menunjukkan bagaimana cara mengekstrak konten teks dari dokumen PDF dengan TextFormattingMode.
// Buat objek ExtractTextOptions untuk mengatur TextFormattingMode
var options = new ExtractTextOptions(TextFormattingMode.Pure);
// Tambahkan path file input
options.AddInput(new FileDataSource("path_to_your_pdf_file.pdf"));
// Lakukan proses
var results = PdfExtractor.ExtractText(options);
// Dapatkan teks yang diekstrak dari objek ResultContainer
var textExtracted = results.ResultCollection[0].ToString();
Contoh Penggunaan:
Contoh ini menunjukkan bagaimana cara mengekstrak gambar dari dokumen PDF.
// Buat ExtractImagesOptions untuk mengatur instruksi
var options = new ExtractImagesOptions();
// Tambahkan path file input
options.AddInput(new FileDataSource("path_to_your_pdf_file.pdf"));
// Atur path direktori output
options.AddOutput(new DirectoryDataSource("path_to_results_directory"));
// Lakukan proses
var results = PdfExtractor.ExtractImages(options);
// Dapatkan path ke gambar hasil
var imageExtracted = results.ResultCollection[0].ToFile();
Contoh Penggunaan:
Contoh ini menunjukkan bagaimana cara mengekspor nilai Form ke file CSV.
// Buat objek ExtractFormDataToDsvOptions untuk mengatur instruksi
var options = new ExtractFormDataToDsvOptions(',', true);
// Tambahkan path file input
options.AddInput(new FileDataSource("path_to_your_pdf_file.pdf"));
// Atur path file output
options.AddOutput(new FileDataSource("path_to_result_csv_file.csv"));
// Lakukan proses
PdfExtractor.ExtractFormData(options);
Plugin Baru PDF Manager
- Class PdfManager: berisi semua fungsi dari plugin: Merger, Optimizer, Splitter, TableGenerator, TocGenerator.
- Class Merger: akan dihapus segera.
- Class Optimizer: akan dihapus segera, gunakan PdfManager.
- Class Splitter: akan dihapus segera, gunakan PdfManager.
- Class TableGenerator: akan dihapus segera, gunakan PdfManager.
- Class TocGenerator: akan dihapus segera, gunakan PdfManager.
- Lihat Arsitektur Plugin Baru.
Contoh Penggunaan:
Contoh ini menunjukkan bagaimana cara Menggabungkan dua dokumen PDF.
// Buat objek MergeOptions untuk mengatur instruksi
var options = new MergeOptions();
// Tambahkan path file input
options.AddInput(new FileDataSource("path_to_your_pdf_file_1.pdf"));
options.AddInput(new FileDataSource("path_to_your_pdf_file_2.pdf"));
// Atur path file output
options.AddOutput(new FileDataSource("path_to_result_pdf_file.pdf"));
// Lakukan proses
PdfManager.Merge(options);
Contoh Penggunaan:
Contoh ini menunjukkan bagaimana cara Memisahkan dokumen PDF.
// Buat objek SplitOptions untuk mengatur instruksi
var options = new SplitOptions();
// Tambahkan path file input
options.AddInput(new FileDataSource("path_to_your_pdf_file.pdf"));
// Atur path file output
options.AddOutput(new FileDataSource("path_to_result_pdf_file_1.pdf"));
options.AddOutput(new FileDataSource("path_to_result_pdf_file_2.pdf"));
// Lakukan proses
PdfManager.Split(options);
Contoh Penggunaan:
Contoh ini menunjukkan bagaimana cara Mengoptimalkan dokumen PDF.
// Buat objek OptimizeOptions untuk mengatur instruksi
var options = new OptimizeOptions();
// Tambahkan path file input
options.AddInput(new FileDataSource("path_to_your_pdf_file.pdf"));
// Atur path file output
options.AddOutput(new FileDataSource("path_to_result_pdf_file.pdf"));
// Lakukan proses
PdfManager.Optimize(options);
Contoh Penggunaan:
Contoh ini menunjukkan bagaimana cara Memutar dokumen PDF.
// Buat objek RotateOptions untuk mengatur instruksi
var options = new RotateOptions();
// Atur Rotasi baru
options.Rotation = Rotation.On90;
// Tambahkan path file input
options.AddInput(new FileDataSource("path_to_your_pdf_file.pdf"));
// Atur path file output
options.AddOutput(new FileDataSource("path_to_result_pdf_file.pdf"));
// Lakukan proses
PdfManager.Rotate(options);
Contoh Penggunaan:
Contoh ini menunjukkan bagaimana cara Mengubah Ukuran dokumen PDF.
// Buat objek ResizeOptions untuk mengatur instruksi
var options = new ResizeOptions();
// Atur Ukuran Halaman baru
options.PageSize = PageSize.A3;
// Tambahkan path file input
options.AddInput(new FileDataSource("path_to_your_pdf_file.pdf"));
// Atur path file output
options.AddOutput(new FileDataSource("path_to_result_pdf_file.pdf"));
// Lakukan proses
PdfManager.Resize(options);
Contoh Penggunaan:
Contoh ini menunjukkan bagaimana cara Mengompres dokumen PDF.
// Buat objek CompressOptions untuk mengatur instruksi
var options = new CompressOptions();
// Tambahkan path file input
options.AddInput(new FileDataSource("path_to_your_pdf_file.pdf"));
// Atur path file output
options.AddOutput(new FileDataSource("path_to_result_pdf_file.pdf"));
// Lakukan proses
PdfManager.Compress(options);
Contoh Penggunaan:
Contoh ini menunjukkan bagaimana cara Menambahkan Tabel ke file PDF.
// Konfigurasi opsi tabel
var options = new TableOptions();
options.InsertPageBefore(1)
.AddTable()
.AddRow()
.AddCell().AddParagraph("Nama")
.AddCell().AddParagraph("Usia")
.AddRow()
.AddCell().AddParagraph("Bob")
.AddCell().AddParagraph("12")
.AddRow()
.AddCell().AddParagraph("Sam")
.AddCell().AddParagraph("20")
.AddRow()
.AddCell().AddParagraph("Sandy")
.AddCell().AddParagraph("26")
.AddRow()
.AddCell().AddParagraph("Tom")
.AddCell().AddParagraph("12")
.AddRow()
.AddCell().AddParagraph("Jim")
.AddCell().AddParagraph("27");
// Tambahkan path file input
options.AddInput(new FileDataSource("path_to_input.pdf"));
// Atur path file output
options.AddOutput(new FileDataSource("path_to_output.pdf"));
// Lakukan proses
PdfManager.AddTable(options);
Contoh Penggunaan:
Contoh ini menunjukkan bagaimana cara menambahkan Daftar Isi ke file PDF.
// Buat objek TocOptions untuk mengatur instruksi
var options = new TocOptions();
// Atur Judul
options.Title = "Daftar Isi Saya";
// Desain Judul
options.Headings.Add(new TocHeading("Pendahuluan", 2));
options.Headings.Add(new TocHeading("Bab I", 3));
options.Headings.Add(new TocHeading("Bab II", 4));
options.Headings.Add(new TocHeading("Bab III", 5));
// Tambahkan path file input
options.AddInput(new FileDataSource("path_to_your_pdf_file.pdf"));
// Atur path file output
options.AddOutput(new FileDataSource("path_to_result_pdf_file.pdf"));
// Lakukan proses
PdfManager.AddTableOfContents(options);
Contoh Penggunaan:
Contoh ini menunjukkan bagaimana cara menambahkan Daftar Isi ke file PDF dengan menghasilkan bookmark.
// Buat objek TocOptions untuk mengatur instruksi
var options = new TocOptions();
// Atur Judul
options.Title = "Daftar Isi Saya";
// Hasilkan tautan di bookmark
options.GenerateBookmarks = true;
// Desain Judul
options.Headings.Add(new TocHeading("Pendahuluan", 2, false, 1));
options.Headings.Add(new TocHeading("Bab I", 3, true, 1));
options.Headings.Add(new TocHeading("Bab II", 4, true, 1));
options.Headings.Add(new TocHeading("Contoh A", 4, true, 2));
options.Headings.Add(new TocHeading("Contoh B", 4, true, 2));
options.Headings.Add(new TocHeading("Contoh C", 4, true, 2));
options.Headings.Add(new TocHeading("Contoh D", 4, true, 2));
options.Headings.Add(new TocHeading("Bab III", 5, true, 1));
// Tambahkan path file input
options.AddInput(new FileDataSource("path_to_your_pdf_file.pdf"));
// Atur path file output
options.AddOutput(new FileDataSource("path_to_result_pdf_file.pdf"));
// Lakukan proses
PdfManager.AddTableOfContents(options);
Contoh Penggunaan:
Contoh ini menunjukkan bagaimana cara menambahkan Daftar Isi ke file PDF dan menyimpannya sebagai stream.
// Buat objek TocOptions untuk mengatur instruksi
var options = new TocOptions();
// Atur Judul
options.Title = "Daftar Isi Saya";
// Desain Judul
options.Headings.Add(new TocHeading("Pendahuluan", 2, false, 1));
// Tambahkan path file input
options.AddInput(new FileDataSource("path_to_your_pdf_file.pdf"));
// Atur stream output
var outputStream = new MemoryStream();
options.AddOutput(new StreamDataSource(outputStream));
options.CloseOutputStreams = false;
// Lakukan proses
PdfManager.AddTableOfContents(options);
Peningkatan kegunaan TableGenerator
- Class TableGenerator: bersifat statis dan tidak memerlukan penggunaan konstruktor.
- Class TableGenerator: ditandai sebagai Obsolete. Gunakan PdfManager sebagai pengganti.
Peningkatan kegunaan PdfChatGpt
- Class PdfChatGpt: bersifat statis dan tidak memerlukan penggunaan konstruktor.
- Class PdfChatGptRequestOptions: ditambahkan properti CancellationToken (Dipindahkan dari PdfChatGpt).
Contoh Penggunaan:
Contoh ini menunjukkan bagaimana cara menggunakan plugin PdfChatGpt dengan menambahkan pesan ke permintaan.
var options = new PdfChatGptRequestOptions();
options.AddOutput(new FileDataSource("PdfChatGPT_output.pdf")); // Tambahkan path file output.
options.ApiKey = "API key Anda."; // Anda perlu memberikan kunci untuk mengakses API.
options.MaxTokens = 1000; // Jumlah maksimum token untuk dihasilkan dalam penyelesaian chat.
// untuk membatalkan
// var cancelTokenSource = new CancellationTokenSource();
// var cToken = cancelTokenSource.Token;
// options.CancellationToken = cToken;
// Tambahkan pesan permintaan.
options.Messages.Add(new Message
{
Content = "Anda adalah asisten yang membantu.",
Role = Role.System
});
options.Messages.Add(new Message
{
Content = "Apa diameter pizza terbesar yang pernah dibuat?",
Role = Role.User
});
// Proses permintaan.
await PdfChatGpt.ProcessAsync(options);
Perbaikan Bug
- Memperbaiki konversi html ke pdf metadata
- Memperbaiki PDF ke PDF/A_3b - Isu format teks dan gambar terukur
- Memperbaiki PDF ke PDFA: laporan PDFA yang dihasilkan mengalami kesalahan saat mencetak
- Memperbaiki PDF ke HTML: gambar yang dihasilkan mengandung latar belakang
- Memperbaiki HTML ke PDF: Beberapa karakter Cina muncul sebagai kotak
- Memperbaiki HTML ke PDF: Font kustom Base64 tidak dihormati
- Memperbaiki HTML ke PDF: CSS form field tidak diterapkan
- Memperbaiki HTML ke PDF: grafik tidak dirender dengan benar
- Memperbaiki HTML ke PDF: Karakter khusus tidak dirender
v25.9
Peningkatan kegunaan DocConverter dan penambahan mode ekstra
- Class DocConverter: adalah statis dan tidak memerlukan penggunaan konstruktor.
- Class PdfToDocOptions: menambahkan properti “Mode” yang memungkinkan Anda menyesuaikan proses konversi.
- Enum DocConversionMode: memungkinkan Anda menyesuaikan proses konversi pdf-doc. Nilai:
- TextBox: Mode ini cepat dan baik untuk mempertahankan tampilan asli dari file PDF, tetapi ketereditan dokumen yang dihasilkan bisa terbatas. Setiap blok teks yang dikelompokkan secara visual dalam file PDF asli dikonversi menjadi sebuah textbox dalam dokumen yang dihasilkan.
- Flow: Mode pengenalan penuh, mesin melakukan pengelompokan dan analisis multi-level untuk memulihkan maksud asli penulis dokumen dan menghasilkan dokumen yang dapat diedit sebanyak mungkin.
Contoh Penggunaan:
// Contoh ini menunjukkan cara mengonversi dokumen PDF ke format Doc.
// Buat objek PdfToDocOptions untuk mengatur instruksi
var options = new PdfToDocOptions();
// Tambahkan jalur file input
options.AddInput(new FileDataSource("path_to_your_pdf_file.pdf"));
// Tetapkan jalur file output
options.AddOutput(new FileDataSource("path_to_result_file.doc"));
// Lakukan proses
DocConverter.Process(options);
Contoh Penggunaan:
// Contoh ini menunjukkan cara mengonversi dokumen PDF ke format Doc dengan pengaturan Mode.
// Buat objek PdfToDocOptions untuk mengatur instruksi
var options = new PdfToDocOptions();
// Tambahkan jalur file input
options.AddInput(new FileDataSource("path_to_your_pdf_file.pdf"));
// Tetapkan jalur file output
options.AddOutput(new FileDataSource("path_to_result_file.doc"));
// Tetapkan Mode
options.Mode = DocConversionMode.Flow;
// Lakukan proses
DocConverter.Process(options);
Peningkatan kegunaan PdfAConverter
Class PdfAConverter: adalah statis dan tidak memerlukan penggunaan konstruktor.
Contoh Penggunaan:
// Contoh ini menunjukkan cara mengonversi dokumen PDF ke format PDF/A (PDF/A-3b dalam kasus ini):
// Buat kelas opsi untuk mengatur proses konversi
var options = new PdfAConvertOptions
{
PdfAVersion = PdfAStandardVersion.PDF_A_3B
};
// Tambahkan file sumber
options.AddInput(new FileDataSource("path_to_your_pdf_file.pdf")); // ganti dengan jalur file Anda yang sebenarnya
// Tambahkan jalur untuk menyimpan file yang telah dikonversi
options.AddOutput(new FileDataSource("path_to_the_converted_file.pdf"));
// Jalankan konversi
PdfAConverter.Process(options);
Contoh Penggunaan:
// Contoh ini menunjukkan cara memvalidasi kesesuaian dokumen PDF dengan format PDF/A (PDF/A-1a dalam kasus ini):
// Buat kelas opsi untuk mengatur proses validasi
var options = new PdfAValidateOptions
{
PdfAVersion = PdfAStandardVersion.PDF_A_1A
};
// Tambahkan satu atau lebih file untuk divalidasi
options.AddInput(new FileDataSource("path_to_your_first_pdf_file.pdf")); // ganti dengan jalur file Anda yang sebenarnya
options.AddInput(new FileDataSource("path_to_your_second_pdf_file.pdf"));
// tambahkan lebih banyak file sesuai kebutuhan
// Jalankan validasi dan dapatkan hasilnya
var resultContainer = PdfAConverter.Process(options);
// Periksa properti resultContainer.ResultCollection untuk hasil validasi untuk setiap file:
for (var i = 0; i < resultContainer.ResultCollection.Count; i++)
{
var result = resultContainer.ResultCollection[i];
var validationResult = (PdfAValidationResult) result.Data;
var isValid = validationResult.IsValid; // Hasil validasi untuk dokumen ke-i
}
Peningkatan kegunaan Timestamp
Class Timestamp: adalah statis dan tidak memerlukan penggunaan konstruktor.
Contoh Penggunaan:
// Contoh ini menunjukkan cara menambahkan Timestamp ke dokumen.
// Buat objek AddTimestampOptions untuk mengatur instruksi
var options = new AddTimestampOptions("path_to_your_pfx_file.pfx", "password_for_your_pfx_file", "timestamp_server_url");
// Tambahkan jalur file input
options.AddInput(new FileDataSource("path_to_your_pdf_file.pdf"));
// Tetapkan jalur file output
options.AddOutput(new FileDataSource("path_to_result_pdf_file.pdf"));
// Lakukan proses
Timestamp.Process(options);
Dokumentasi yang Diperbarui
Contoh yang diperbarui, ditambahkan contoh ekstra:
- Informasi tentang lisensi dan evaluasi
- Halaman produk
- Pembuat Tabel PDF
- Pembuat TOC PDF
- Penambah Timestamp PDF
- Konverter PDF/A
- Pengambil Gambar PDF
- Pengambil Teks PDF
- Konverter PDF ke XLS
- Konverter PDF ke HTML
Bug yang Diperbaiki
- Memperbaiki masalah dengan HTML ke PDF
- Memperbaiki masalah dengan PDF ke PDF/A-2B
- Meningkatkan PDF ke JPEG: beberapa karakter teks dihasilkan sebagai kotak
- Memperbaiki render PDF ke TIFF
- Memperbaiki pengecualian yang tidak terduga pada PDF ke JPEG
v25.8
Peningkatan kegunaan JpegConverter
Class JpegConverter: adalah statis dan tidak memerlukan penggunaan konstruktor.
Contoh Penggunaan:
// Contoh ini menunjukkan cara mengonversi dokumen PDF ke format JPEG.
// Buat objek PdfToJpegOptions untuk mengatur instruksi
var options = new PdfToJpegOptions();
// Tambahkan jalur file input
options.AddInput(new FileDataSource("path_to_input.pdf"));
// Atur jalur direktori output
options.AddOutput(new DirectoryDataSource("path_to_output_directory"));
// Lakukan proses
JpegConverter.Process(options);
Peningkatan kegunaan PngConverter
Class PngConverter: adalah statis dan tidak memerlukan penggunaan konstruktor.
Contoh Penggunaan:
// Contoh ini menunjukkan cara mengonversi dokumen PDF ke format PNG.
// Buat objek PdfToPngOptions untuk mengatur instruksi
var options = new PdfToPngOptions();
// Tambahkan jalur file input
options.AddInput(new FileDataSource("path_to_input.pdf"));
// Atur jalur direktori output
options.AddOutput(new DirectoryDataSource("path_to_output_directory"));
// Lakukan proses
PngConverter.Process(options);
Peningkatan kegunaan XlsConverter
- Class XlsConverter: adalah statis dan tidak memerlukan penggunaan konstruktor.
- Class XlsConverter: deskripsi diperbaiki.
Contoh Penggunaan:
// Contoh ini menunjukkan cara mengonversi PDF ke dokumen XLSX.
// Buat objek PdfToXlsOptions untuk mengatur instruksi
var options = new PdfToXlsOptions();
// Tambahkan jalur file input
options.AddInput(new FileDataSource("path_to_your_pdf_file.pdf"));
// Atur jalur file output
options.AddOutput(new FileDataSource("path_to_result_xlsx_file.xlsx"));
// Lakukan proses
XlsConverter.Process(options);
Peningkatan kegunaan Signature
- Class Signature: adalah statis dan tidak memerlukan penggunaan konstruktor.
- Class Signature: deskripsi diperbaiki.
- Class Signature: antarmuka IPlugin dihapus.
Contoh Penggunaan:
// Contoh ini menunjukkan cara menandatangani dokumen PDF.
// Buat objek SignOptions untuk mengatur instruksi
var options = new SignOptions("path_to_your_pfx_file.pfx", "password_of_your_pfx_file");
// Tambahkan jalur file input
options.AddInput(new FileDataSource("path_to_your_pdf_file.pdf"));
// Atur jalur file output
options.AddOutput(new FileDataSource("path_to_result_pdf_file.pdf"));
// Lakukan proses
Signature.Process(options);
Konstruktor PdfToHtmlOptions yang dimodifikasi
Konstruktor dan argumen dioptimalkan.
Tanda evaluasi TextExtractor yang dimodifikasi
Teks tanda evaluasi diubah.
Dokumentasi yang diperbarui
Contoh yang diperbarui, ditambahkan contoh tambahan:
- Konverter PDF ke JPEG
- Konverter PDF ke PNG
- Konverter PDF ke TIFF
- Pemadat Formulir PDF
- Konverter HTML
- Keamanan PDF
- Optimizer PDF
- Penggabung PDF
- Pembagi PDF
Perbaikan Bug
- Memperbaiki masalah dengan Annotations
- Memperbaiki masalah setelah pengubahan ukuran
- Memperbaiki transformasi Nama Font PDF ke PDF/A
- Memperbaiki PDF ke DOCX - Ruang ditambahkan di header, dan masalah lainnya
- Memperbaiki HTML ke PDF - Latar Belakang PNG Transparan
- Memperbaiki PDF Terkompresi - Meningkatkan kinerja dengan Adobe Acrobat