v25.10

Plugin Baru PDF Extractor

  • 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
7 Okt 2025
 Indonesia