v26.8

Kelas SignOptions telah dirancang ulang

  • Sekarang lebih mudah digunakan.
  • Mewarisi dari kelas OptionsWithInputAndOutput.
  • Properti Inputs dan Outputs diubah menjadi Input dan Output. Sekarang hanya ada 1 input dan 1 output.
  • Jika output berupa file, stream‑nya akan ditutup secara otomatis, tetapi jika berupa Stream, maka akan tetap terbuka untuk penggunaan selanjutnya.
  • Menghapus metode AddInput, AddOutput.
  • Menambahkan beberapa konstruktor yang lebih praktis:
    • SignOptions(IData inputData, IData outputData, IData pfxData, string password)
    • SignOptions(string inputFile, string outputFile, string pfxFile, string pfxPassword)
    • SignOptions(Stream inputStream, Stream outputStream, Stream pfxStream, string pfxPassword)
  • Menambahkan properti yang dapat diubah:
    • Stream Pfx
    • string PfxPassword
    • IData Input
    • IData Output

Contoh Penggunaan:

Contoh penggunaan SignOptions.

using var pfxStream = File.OpenRead(@"path_to_your_pfx_file.pfx");
var options = new SignOptions(pfxStream, "password_of_your_pfx_file");
// Tetapkan jalur file input dan output
options.Input = new FileData("path_to_your_pdf_file.pdf");
options.Output = new FileData("path_to_result_pdf_file.pdf");

Contoh Penggunaan:

Contoh yang menunjukkan cara menandatangani file PDF dengan gaya paling singkat.

PdfSecurity.Sign(new SignOptions("path_to_your_pdf_file.pdf", "path_to_result_pdf_file.pdf", "path_to_your_pfx_file.pfx", "password_of_your_pfx_file"));

Contoh Penggunaan:

Contoh yang menunjukkan cara menandatangani dokumen PDF menggunakan stream.

// Siapkan stream
using var pdfStreamInput = File.OpenRead(@"path_to_your_pdf_file.pdf");
using var pfxStreamInput = File.OpenRead(@"path_to_your_pfx_file.pfx");
using var pdfStreamOutput = new MemoryStream();
// Buat objek SignOptions untuk mengatur instruksi
var options = new SignOptions(pdfStreamInput, pdfStreamOutput, pfxStreamInput, "password_of_your_pfx_file");
// Lakukan proses
PdfSecurity.Sign(options);

Menghapus kelas Signature

  • Implementasi plugin sebelumnya secara bertahap dihentikan. Fungsionalitas kelas ini telah digantikan oleh kelas PdfSecurity.
  • Kelas Signature: dihapus, gunakan PdfSecurity.

Contoh Penggunaan:

Contoh yang menunjukkan cara menandatangani dokumen PDF.

// Buat objek SignOptions untuk mengatur instruksi
var options = new SignOptions("path_to_your_pdf_file.pdf", "path_to_result_pdf_file.pdf", "path_to_your_pfx_file.pfx", "password_of_your_pfx_file");
// Lakukan proses
PdfSecurity.Sign(options);

Menghapus kelas FormExporter

  • Implementasi plugin sebelumnya secara bertahap dihentikan. Fungsionalitas kelas ini telah digantikan oleh kelas PdfExtractor dan PdfForm.
  • Kelas FormExporter: dihapus, gunakan PdfExtractor atau PdfForm.

Contoh Penggunaan:

Contoh yang menunjukkan cara mengekspor nilai Form ke file CSV dengan PdfExtractor.

// Buat objek ExtractFormDataToDsvOptions untuk mengatur instruksi
var options = new ExtractFormDataToDsvOptions(',', true);
// Tambahkan jalur file input
options.AddInput(new FileData("path_to_your_pdf_file.pdf"));
// Tetapkan jalur file output
options.AddOutput(new FileData("path_to_result_csv_file.csv"));
// Lakukan proses
PdfExtractor.Extract(options);

Contoh Penggunaan:

Contoh yang menunjukkan cara mengekspor nilai Form ke file TSV dan mengatur properti dengan PdfForm.

// Buat objek ExtractFormDataToDsvOptions untuk mengatur instruksi
var options = new ExtractFormDataToDsvOptions();
// Tetapkan delimiter
options.Delimiter = '\t';
// Sertakan nama bidang pada hasil
options.AddFieldName = true;
// Tambahkan jalur file input
options.AddInput(new FileData("path_to_your_pdf_file.pdf"));
// Tetapkan jalur file output
options.AddOutput(new FileData("path_to_result_csv_file.tsv"));
// Lakukan proses
PdfForm.Extract(options);

Meningkatkan kelas FileData

  • Metode ToString() di‑override.

Perbaikan lain

📄 PDF ke DOC

  • Memperbaiki konversi PDF ke DOC yang memakan waktu berlebihan.

🌐 PDF ke HTML / HTML ke PDF

  • Memperbaiki konversi PDF ke HTML yang menghasilkan gambar transparan.
  • Memperbaiki konversi HTML ke PDF yang menyebabkan konten tumpang tindih.
  • Memperbaiki konversi HTML ke PDF yang mengabaikan lebar tabel.

🖼️ PDF ke PNG/TIFF

  • Memperbaiki konversi PDF ke PNG yang mengkonsumsi memori berlebihan.
  • Memperbaiki konversi PDF ke PNG yang tidak mempertahankan font yang disematkan.
  • Memperbaiki konversi PDF ke TIFF yang melemparkan pengecualian.

📑 PDF ke PDF/A

  • Memperbaiki konversi PDF ke PDF/A yang kehilangan warna dokumen.
  • Memperbaiki konversi PDF ke PDF/A yang menyebabkan teks saling tumpang tindih pada output.
  • Memperbaiki metode Validate() pada PDF/A yang mengembalikan hasil yang tidak tepat.
  • Memperbaiki validasi PDF/A yang menghasilkan hasil yang salah.

📂 Operasi Lain

  • Memperbaiki System.FormatException yang dilempar saat memverifikasi tanda tangan PDF.
  • Memperbaiki penggabungan dokumen yang melemparkan pengecualian.
 Indonesia