Komponen Inti
- TPdf - Komponen utama untuk menangani dokumen PDF, membuka, menavigasi, mengekstrak teks, dan mengedit dokumen PDF
- TPdfView - Komponen visual untuk menampilkan dan berinteraksi dengan halaman PDF
- TPdfReadingSession - Komponen orkestrasi baca-nyaring untuk mesin TTS host dan pelacakan kata TPdfView
- TPdfThumbnailView - Panel samping thumbnail yang dapat digulir untuk navigasi halaman
Operasi Dokumen
- Pemuatan Dokumen - Memuat file PDF dari disk, stream memori, array byte, atau adapter TStream on-demand melalui
LoadCustomDocument; PDFium membaca blok sesuai permintaan sehingga dokumen berukuran multi-GB dan sumber jarak jauh atau berbasis database tidak memerlukan salinan awal di memori- Perlindungan Kata Sandi - Membuka dokumen PDF yang dilindungi kata sandi dan melaporkan
UserPermissionsefektif untuk sesi yang diautentikasi- Pembuatan Dokumen - Membangun dokumen PDF baru dari awal dengan
CreateDocument,AddPage,AddText,AddImage,AddPicture,AddJpegImage, danCreatePath- Penyimpanan Dokumen - Menyimpan dokumen yang diubah dengan berbagai opsi, termasuk incremental dan remove security, serta target versi PDF eksplisit dari PDF 1.0 sampai PDF 1.7
- Keluaran PDF/A-1b -
SaveAsPdfA/SaveAsPdfAToStreammelakukan post-process pada penyimpanan dasar dengan pembaruan inkremental yang menyuntikkan stream metadata XMP, sRGB ICC OutputIntent, dan katalog dokumen yang diperbarui agar hasilnya sesuai PDF/A-1b. Profil ICC kustom didukung melaluiTPdfASaveOptions.IccProfileData- Validasi PDF/A -
ValidatePdfAdan properti hanya-bacaPdfAConformancememindai dokumen yang terbuka untuk penanda XMPpdfaid, OutputIntent dengan ICC tersemat, keberadaan enkripsi, dan melaporkan tingkat kepatuhan (pac1a,pac1b,pac2b,pac3b,pacNone, ataupacUnknown) beserta daftar entriTPdfAValidationIssueyang menjelaskan tiap masalah yang ditemukan- Validator Kepatuhan Versi PDF - Saat SaveAs menargetkan PDF 1.0 sampai PDF 1.7, writer menolak setiap entri dictionary, filter, subtype anotasi, tipe action, font, color space, atau parameter enkripsi yang diperkenalkan setelah versi target yang dipilih, misalnya JBIG2Decode, MarkInfo, OutputIntents, AES / AES-256, anotasi Polygon / Caret / Watermark / Redact, serta action JavaScript / Trans / SetState
- Kompresi Stream - Kompresi FlateDecode otomatis memastikan semua stream PDF dikompresi secara optimal saat menyimpan; set
Compressed := Falseuntuk menonaktifkannya pada pipeline debug- Penggabungan Dokumen - Mengimpor halaman dari dokumen PDF lain
- Impor Subset Halaman -
ImportPagesByIndexmenyalin array indeks eksplisit berbasis nol dari dokumen sumber, dengan InsertAt = 0 untuk menyisipkan sebelum halaman 1 atau InsertAt = PageCount untuk menambahkan di akhir. Berikan array indeks kosong untuk mengimpor semua halaman sumber- Komposisi N-up -
ImportNPagesToOnemengembalikanTPdfbaru yang halamannya merupakan komposit NumX×NumY dari halaman-halaman dokumen sumber, berukuran dalam satuan pengguna PDF (1 unit = 1/72 in)- Pengurutan Ulang Halaman -
MovePagesmenyusun ulang halaman di tempat menggunakan array indeks berbasis nol dan indeks tujuan untuk halaman pertama yang dipindahkan- Penggunaan Ulang Halaman Form XObject -
CreateXObjectFromPagemembuat handleTPdfXObjectyang dapat digunakan ulang dari halaman mana pun pada dokumen lain;InsertFormObjectFromXObjectmenyisipkan SATU salinan halaman terbungkus ke halaman saat ini. Sangat cocok untuk watermark, overlay template, dan alur kerja "stamp satu halaman ke banyak halaman". Objek halaman tujuan dapat diposisikan, diskalakan, dan diputar melaluiFPDFPageObj_SetMatrixdan helperTPdfMatrix- Pengelolaan Halaman - Menambah, menghapus, dan memanipulasi halaman individual;
AddPage(0, ...)menyisipkan halaman pertama dan langsung mengaktifkannya- Kotak Halaman - Membaca dan menulis MediaBox, CropBox, BleedBox, TrimBox, dan ArtBox pada halaman saat ini
- Bahasa Katalog - Membaca dan menulis bahasa dokumen yang disimpan di entri katalog /Lang
- ID File Trailer - Membaca entri trailer /ID yang permanen dan yang berubah sebagai byte biner
- Aksi JavaScript Dokumen - Mendaftar nama aksi name-tree JavaScript tingkat dokumen dan skripnya
- Pohon Struktur Tagged PDF - Memeriksa elemen struktur logis, teks aksesibilitas, bahasa, ID marked-content, dan hierarki untuk halaman Tagged PDF
- Preferensi Penampil - Membaca
PrintCopies,PrintPageRanges,PrintScaling, danPrintPaperHandlingdari dictionary preferensi penampil dokumen; PDF yang disimpan default ke aksi buka halaman pertama Fit Height
Operasi Teks
- Ekstraksi Teks - Mengekstrak teks dari halaman PDF dengan presisi tingkat karakter melalui properti
Text,TextInRectangle,Character,CharacterRectangle, danCharacterOriginyang diindeks- Unit Membaca Level Kalimat - TPdf.ReadingUnits, TPdf.DocumentReadingUnits, TPdfView.ReadingUnits, dan BuildReadingUnits mengekspos record TPdfReadingUnit berukuran kalimat untuk sinkronisasi baca-nyaring TTS
- Penyorotan Bacaan Level Kata -
TPdf.PageWordBoxes,TPdfView.PageWordBoxes,BuildWordBoxes,WordBoxIndexAtCharIndex,TPdfView.SelectWordBox,TPdfView.SelectWordSpan,TPdfView.TrackReadingWordAt,TPdfView.SetReadingWord,TPdfView.ClearReadingWord,ReadingWordColor,ReadingWordFollowmemetakan offset karakter halaman ke TPdfWordBox yang memuatnya, menyorotnya, dan mengembalikan indeks kata; menyorot satu TPdfWordBox sebagai kata yang sedang dibaca di TPdfView; menghapus overlay kursor baca level kata saat ini di TPdfView; mengatur warna overlay yang dipakai untuk kursor baca level kata saat ini; mengatur apakah TPdfView menggulir kata yang sedang dibaca ke tampilan saat pelacakan membaca- Orkestrasi Sesi Baca Nyaring -
TPdfReadingSession,TPdfSpokenText,SpokenTextAppend,BuildSpokenTextFromWords,SpokenToPageChar, danEstimateSpokenWordIndexmengoordinasikan mesin TTS host, potongan teks yang dibacakan, callback posisi kata, pacing terestimasi, penanganan pause/resume, dan pembaruan kursor kata TPdfView- Pencarian Teks - Menemukan teks dengan opsi peka huruf besar/kecil, whole word, dan consecutive search menggunakan
FindFirst,FindNext,FindPrevious- Lapisan Sorotan Pencarian -
TPdfView.HighlightSearchTextmemindai halaman tampilan saat ini dan melukis overlayHighlightColornyata yang di-blend alpha pada setiap kecocokan di setiap redraw, lalu mengembalikan jumlah kecocokan.ClearHighlightmenghapus overlay; berpindah ke halaman lain akan menghapusnya otomatis karena kecocokan bersifat spesifik per halaman.HighlightColordefault keclYellowdan dipublikasikan agar aplikasi dapat memberi tema- Properti Karakter - Mengakses ukuran font, weight, angle, dan posisi untuk karakter individual melalui properti terindeks
CharacterAngle,CharacterFontSize,CharacterFontWeight,CharacterGenerated,CharacterIsHyphen, danCharacterMapError- Dukungan Karakter Eropa -
AddTextotomatis memuat dan menyimpan cache font TrueType sistem yang cocok sebelum membuat objek teks, sehingga karakter bertanda aksen dari Czech, French, German, Spanish, Portuguese, Polish, dan Turkish yang tidak dapat direpresentasikan oleh font standar bawaan PDFium sekarang dirender dengan benar tanpa perubahan kode apa pun- Penambahan Teks - Menambahkan teks baru ke halaman PDF dengan font kustom, warna, transparansi, dan rotasi
- Penempatan Objek Teks - Mengatur posisi per-karakter untuk objek teks yang sudah ada melalui
SetTextPositionsdanTPdfSingleArray- Informasi Font - Mengambil properti font termasuk nama keluarga, status embedding, italic angle, ascent / descent, dan data font mentah pada basis per-objek halaman
Dukungan Anotasi
- Jenis Anotasi - Mendukung anotasi teks, link, highlight, underline, strikeout, dan banyak jenis anotasi lain
- Pembuatan Anotasi - Membuat anotasi baru secara terprogram
- Pengeditan Anotasi - Mengubah properti anotasi yang sudah ada termasuk warna, transparansi, dan konten
- Anotasi Link - Menangani link internal dan eksternal dengan dukungan action
Dukungan Formulir
- Aksesori Pengisian Formulir via Suara - FocusedFormFieldValue, FocusedFormFieldName, dan FocusedFormFieldDetails pada TPdf dan TPdfView mengekspos nilai field formulir logis saat ini, nama, dan TPdfFormFieldInfo untuk pengisian formulir berbasis keyboard atau suara
- Tipe Formulir - Mendukung form AcroForm dan XFA
- Pengisian Formulir - Pengisian formulir interaktif dengan dukungan JavaScript
- Pemilihan DLL V8 - Set
EnableV8Enginesebelum memuat untuk memakaipdfium.v8.dlldari folderDLLs\Win32atauDLLs\Win64yang cocok dan memeriksa ketersediaan helper V8/XFA melaluiV8FeaturesAvailable,XfaBStrHelpersAvailable, danGetRecommendedV8Flags- Akses Field - Membaca dan menulis nilai field formulir berdasarkan indeks atau posisi
- Informasi Field - Mengakses tipe field, flag, nama, dan properti lain
- Flag Field - Memperbarui flag field AcroForm berdasarkan indeks atau posisi melalui
SetFormFieldFlags/SetFormFieldFlagsAt, termasuk flag read-only, required, password, dan multi-select- Perataan Formulir -
GenerateFormAppearancesmeregenerasi stream tampilan /AP untuk setiap widget formulir di setiap halaman, danFlattenPage/FlattenAllPagesmenanamkan anotasi dan field formulir ke konten halaman statis yang tidak dapat diedit- Seleksi Teks Widget Formulir & Undo / Redo - Pada widget AcroForm yang sedang fokus, view mengekspos
GetSelectedFormText(teks yang sedang dipilih),SelectAllFormText(memilih setiap karakter), danFormUndo/FormRedo/FormCanUndo/FormCanRedo(menggerakkan riwayat edit per-widget PDFium). Keenamnya keluar dengan aman saat view tidak aktif atau tidak ada widget yang fokus
Operasi Gambar
- Ekstraksi Gambar - Mengekstrak bitmap dari halaman PDF dengan properti terindeks
Bitmap; iterasiBitmapCountuntuk menyimpan setiap gambar ke disk- Penyisipan JPEG -
AddJpegImagemengambil TStream berisi byte JPEG mentah dan menanamkan gambar sebagai XObject /DCTDecode tanpa encoding ulang- Dukungan Picture -
AddPicturemenerima objekTPicturedengan konversi format otomatis melalui kelas grafis VCL/LCL yang terdaftar- Penyisipan Gambar Langsung -
AddImage(FileName)mengenali format apa pun yang terdaftar di unit grafis VCL atau LCL, seperti BMP, PNG via PngImage, JPG, dan lain-lain, lalu memakai pipeline AddPicture.AddImage(TBitmap)melewati perantara TPicture, yang menyederhanakan pemanggil yang sudah memegang TBitmap dari pekerjaan rendering atau pembuatan batch- Profil ICC Gambar - Objek halaman gambar mengekspos data profil ICC tersemat ketika tersedia, binding untuk
FPDFImageObj_GetIccProfileDataDecoded- Pembuatan Thumbnail - Menghasilkan bitmap thumbnail halaman saat ini melalui properti
Thumbnailatau merender halaman bernomor satu apa pun melaluiTPdf.RenderPageThumbnailtanpa mengubahPageNumber
Unit Pembantu
- Infrastruktur Asinkron -
FPdfAsyncmengeksposIPdfCancellationToken/IPdfCancellationTokenSourceuntuk semantik cancel-from-UI yang kooperatif, singletonPdfNoCancellationTokenyang dapat dipakai ulang, dan helper ringanTPdfFuture<T>yang menjalankan worker di background thread lalu mengirim envelopeTPdfFutureResult<T>kembali ke main thread, membedakan kasus sukses, batal, dan gagal- Adapter Stream -
TPdfStreamAdaptermenjembataniTStreamPascal ke callbackFPDF_FILEACCESSPDFium sehinggaLoadCustomDocumentmembaca blok sesuai permintaan alih-alih membuffer seluruh PDF di memori- Komposisi Matriks -
FPdfMatrixmembungkusFS_MATRIXmilik PDFium dengan API OO untukTranslate,Scale,Rotate,HorizontalFlip,VerticalFlip,CentralFlip,Skew, danMultiply.Multiplymengambil snapshot keenam elemen matriks sebelum menghitung nilai baris baru, sehingga terhindar dari jebakan implementasi Pascal alternatif yang menimpa elemen lebih awal dalam pemanggilan yang sama dan menghasilkan komposisi yang salah- Rendering Progresif yang Dapat Dibatalkan -
TPdf.RenderPageProgressivemenggerakkan loopFPDF_RenderPageBitmap_Start+RenderPage_Continuemilik PDFium dan memeriksaIPdfCancellationTokendi antara iterasi melalui callbackIFSDK_PAUSEsehingga render ber-DPI tinggi yang lama bisa dibatalkan di tengah halaman alih-alih memblokir sampai selesai. MengembalikanTPdfProgressiveStatusberupaprsDone,prsCancelled, atauprsFailed- Jalur Render Zero-Copy -
RenderPage/RenderTile/RenderPageProgressivemenulis keluaran PDFium langsung ke buffer DIB milikTBitmaptujuan alih-alih melalui buffer internal, menghemat satu salinan memori sebesar width × height × 4 bytes per render, paling terasa pada DPI tinggi seperti panel thumbnail, ekspor kualitas cetak, dan ekspor batch. Jalur fallback per scanline tetap dipertahankan ketika DIB tujuan tidak bisa dibungkus dengan aman- Transformasi Bitmap untuk Low Vision - InvertPdfBitmap, GrayscalePdfBitmap, dan DuotonePdfBitmap mengubah pixel TBitmap 32-bit yang telah dirender secara in-place untuk tampilan low vision terbalik, grayscale, atau dua warna
- Tampilan Low Vision Langsung -
TPdfView.OptionsmendukungreInvertdanreNightDuotone, denganNightDuotoneInkdanNightDuotonePapermengendalikan palet malam langsung sebelum overlay digambar
Operasi Penggambaran
- Penggambaran Path - Membuat path dengan garis, kurva Bezier, dan bentuk tertutup
- Pemindahan Objek - Menghapus objek halaman dan meregenerasi konten halaman dari TPdf atau TPdfView
- Isi dan Garis - Mengonfigurasi mode isi, warna, transparansi, dan properti garis
- Mode Blend - Mendukung berbagai mode blend PDF
- Gaya Garis - Mengonfigurasi line cap, line join, dan lebar garis
Tanda Tangan Digital
- Deteksi Tanda Tangan - Mendeteksi dan menghitung tanda tangan digital dalam dokumen PDF
- Informasi Tanda Tangan - Mengakses isi tanda tangan, byte range, sub-filter, alasan, dan waktu
- Izin MDP - Memeriksa izin deteksi dan pencegahan modifikasi dokumen
Dukungan Lampiran
- Akses Lampiran - Membaca, membuat, mengubah, dan menghapus lampiran file tersemat
- Nama Lampiran - Mengakses nama file lampiran
- Jenis Lampiran - Membaca nilai MIME subtype file tersemat ketika tersedia
- Bookmark - Menavigasi bookmark dokumen dengan dukungan hierarkis melalui array
Bookmarks,BookmarkChildren,HasBookmarkChildren, dan helper traversalBookmarkFrom- Tujuan Bernama - Mengakses tujuan bernama berdasarkan indeks atau nama melalui
Destination,DestinationByName, danDestinationCount- Label Halaman - Mengambil label halaman untuk setiap halaman melalui
PageLabel; berguna ketika dokumen memakai angka Romawi untuk bagian awal- Tautan Web - Mendeteksi dan menavigasi tautan web pada halaman dengan
WebLink,WebLinkCount, danTPdfView.WebLinkAtPos- Anotasi Link - Mengakses anotasi link dengan informasi action dan tujuan melalui
LinkAnnotation,LinkAnnotationCount, danTPdfView.LinkAnnotationAtPos- Penanganan Klik Tautan Aman - TPdfView memunculkan event
OnAnnotationLinkClick/OnWebLinkClicksebelum penanganan goto / URI otomatis, dengan action launch dimatikan secara default. Deteksi klik link hanya berjalan ketika gestur berupa klik, bukan drag, menggunakan anchor MouseDown yang baru sehingga gestur panning tetap melewati jalur scroll yang sudah ada tanpa perubahan
Perenderan
- Rendering Berkualitas Tinggi - Merender halaman ke device context, bitmap, atau tile melalui
RenderPage/RenderTile, dengan penulisan langsung zero-copy ke buffer DIB tujuan- Rendering Progresif yang Dapat Dibatalkan -
RenderPageProgressivemenggerakkan loop progresif PDFium dan memeriksaIPdfCancellationTokendi antara iterasi, lalu mengembalikanprsDone,prsCancelled, atauprsFailed. Bitmap mempertahankan pekerjaan parsial yang sudah selesai ketika dibatalkan- Opsi Render - Optimasi teks LCD (
reLcd), anotasi (reAnnotations), grayscale, dan flag mode cetak- Hook Skia - Binding tingkat rendah
FPDF_RenderPageSkiadanFPDF_FFLDrawSkiatersedia ketika pemanggil menyediakan SkCanvas eksternal, tergantung export DLL bawaan- Pemilihan Mode Cetak - Mengatur mode cetak PDFium EMF, text-only, PostScript, pass-through, image-mask, dan Type 42 melalui fungsi global
SetPdfPrintModedenganTPdfPrintMode- Lapisan Tindih Asinkron - TPdfView dapat menampilkan lapisan tindih pemuatan opsional saat worker milik aplikasi merender dengan instance TPdf terpisah
- Rotasi Halaman - Dukungan rotasi 0, 90, 180, dan 270 derajat (
ro0,ro90,ro180,ro270)- Deteksi Transparansi - Properti
Transparentmelaporkan apakah ada objek pada halaman saat ini yang memiliki transparansi, termasuk mode blend dan alpha parsial
Melihat (TPdfView)
- Mode Tampilan -
dmSingleContinuous,dmTwoPageContinuous, dandmTwoPageContinuousWithCover(halaman sampul berdiri sendiri, lalu lanjut ke spread dua halaman). Helper tingkat unitComputeSpreadPagesmengekspos perhitungan halaman spread tanpa membuat viewer- Mode Fit -
FitModememilih cara halaman ditempatkan di viewport:pfmNone(zoom manual),pfmActualSize(100%),pfmFitPage(seluruh halaman muat di viewport), danpfmFitWidth(lebar halaman sama dengan lebar viewport). Mode fit aktif diterapkan ulang otomatis saat Resize dan ketika halaman saat ini berubah; menetapkan Zoom secara langsung membatalkan mode fit aktif, denganFitModekembali kepfmNone, sesuai konvensi viewer PDF standar- Kontrol Zoom - Zoom variabel dengan helper per halaman
PageZoom,PageWidthZoom,PageHeightZoom, danActualSizeZoom- Warna Halaman -
PageColormemisahkan latar belakang halaman PDF yang dirender dariColorkontrol sekitarnya. Default adalahclWhite, jadi halaman PDF sekarang dirender sebagai putih seperti kertas apa pun tema aplikasi host. Viewer mode gelap dapat menjaga area scroll tetap gelap sambil membiarkan halaman PDF yang sebenarnya tetap putih, atau warna lain yang dipilih aplikasi- Seleksi Teks Interaktif - Pengguna akhir dapat drag untuk memilih teks pada halaman PDF, dengan hit-test yang otomatis beralih antara selection dan pan: klik pada karakter memulai drag seleksi, klik pada ruang kosong melakukan pan. Double-click memilih kata, triple-click memilih baris,
Ctrl+Amemilih halaman, termasuk kedua halaman dalam mode spread,Ctrl+Cmenyalin sebagaiCF_UNICODETEXT,Shift+arrowsmemperpanjang seleksi, hover di atas teks mengubah kursor menjadicrIBeam, dan drag ke tepi viewer menggulir halaman secara otomatis.SelectionColordanOnSelectionChangeyang baru dipublikasikan, sertaHasSelection,SelectedText,SelectionCharCount,ClearSelection,SelectAll,CopySelectionToClipboard. Mode tampilan spread memilih di kedua halaman yang terlihat dengan penggabungan CR/LF. Popup Copy klik-kanan default otomatis dipasang ketika host belum menetapkanPopupMenusendiri. Dikendalikan oleh flagAllowUserTextSelectionv1.17.0 untuk host kiosk- Pemetaan Koordinat - Mengonversi antara koordinat device viewer dan koordinat halaman PDF dengan
DeviceToPage/PageToDevice, termasuk overload yang menerimaTRectdan mengembalikanTPdfRectangle- Seleksi Teks dan Hit Testing - Menentukan karakter di bawah titik viewer dengan
CharacterIndexAtPosdan melukis highlight seleksi teks melaluiPaintSelection- Mouse & Keyboard - Dukungan penuh perangkat input dengan scroll drag mouse, pintasan PgUp / PgDn / Ctrl+Home / Ctrl+End, dan navigasi halaman wheel-up / wheel-down. Ctrl+wheel dikhususkan untuk zoom aplikasi dan dilewati oleh handler navigasi
- Penguncian Input Pengguna -
AllowUserPageChangemengendalikan pintasan halaman lewat keyboard,ChangePageOnMouseScrollingmengendalikan loncatan halaman dengan wheel, danAllowUserTextSelectionmengendalikan input seleksi teks dari mouse / keyboard. Ketiganya default ke True; ubah ke False untuk mengunci kiosk, preview pane, atau embedding read-only tanpa subclassing- Lapisan Tindih Render Asinkron -
AsyncRendering,LoadingText, danLoadingColormenggambar indikator kecil "Loading..." di atas halaman yang dirender sehingga aplikasi yang memakai worker sendiri untuk render lama mendapatkan affordance visual yang konsisten. Default mempertahankan perilaku yang ada.TPdfsekarang menserialkan panggilan render dan page-unload per instance; aplikasi tetap mengendalikan dispatch worker dan harus menghindari modifikasi dokumen saat render sedang berjalan- Penanganan Klik Tautan Aman -
LinkOptionsadalah set yang dipublikasikan untuk mengendalikan perilaku otomatis bagi empat tipe aksi link PDF:loAutoGoto(loncat halaman),loAutoOpenURI(ShellExecute),loAutoLaunch(ShellExecute), danloAutoEmbeddedGoto(reserved). Default hanya mengaktifkanloAutoGotodanloAutoOpenURI;loAutoLaunchdanloAutoEmbeddedGototetap mati sehingga klik yang tidak sengaja tidak dapat menjalankan program sembarang.OnAnnotationLinkClickdanOnWebLinkClickdipicu sebelum aksi otomatis apa pun dan memungkinkan aplikasi menandai event sebagai Handled atau mengalihkannya- Interaksi Formulir - Pengeditan formulir interaktif di dalam viewer, ditambah helper seleksi / Undo / Redo v1.23.0
- Gaya Visual -
PageShadowSize,PageShadowColor, danPageBorderColormelukis bayangan drop opsional di bawah persegi halaman dan border satu piksel di sekelilingnya;SmoothScrollsekarang menganimasikan perintah scrollbar baris / halaman dalam segmen yang digerakkan timer sementara tracking thumb tetap langsung- Navigasi Thumbnail -
TPdfThumbnailView(unitFPdfThumbnail) merender satu thumbnail halaman per baris di panel samping yang dapat digulir, dengan highlight hover dan selection plus navigasi klik-untuk-pergi. Dirancang untuk ditempatkan di samping TPdfView. Properti:CurrentPageIndex,ThumbnailWidth,ThumbnailHeight,TextColor,HoverColor,SelectionColor,BorderColor; event:OnPageClick
Kompresi
- Kompresi Otomatis - Saat properti
Compressedbernilai True, default, semua stream PDF dipastikan terkompresi FlateDecode ketika disimpan- Post-Processing - Mesin kompresi memindai data PDF yang tersimpan dan mengompresi stream yang belum terkompresi dengan kompresi maksimum zlib
- Pembangunan Ulang Cross-Reference - Secara otomatis membangun ulang tabel xref ketika kompresi stream mengubah byte offset
- Tanpa Overhead - Jika semua stream sudah terkompresi, data lewat tanpa modifikasi
Keamanan
- Dukungan Kata Sandi - Membuka dokumen PDF yang dilindungi kata sandi
- Izin - Membaca izin dokumen dan pengguna; demo
SecurityAuditmenggabungkan izin, lampiran, JavaScript dokumen, tautan URI / Launch, tanda tangan, XFA, dan ketersediaan V8 menjadi permukaan risiko hanya-baca dengan aksi simpan laporan TXT / JSON dan salin TXT- Penghapusan Keamanan - Menyimpan dokumen dengan keamanan dihapus, ketika diizinkan
Pencetakan
- Mode Cetak - Memilih antara mode cetak EMF, text-only, PostScript Level 2 / 3, PostScript pass-through, EMF image-mask, dan Type 42 melalui fungsi global
SetPdfPrintMode- Preferensi Penampil - Menampilkan niat penulis dokumen melalui
PrintCopies,PrintPageRanges(rentang halaman berbasis satu),PrintScaling, danPrintPaperHandling;SetPdfPrintPaperHandlingDevModememetakan petunjuk duplex keDEVMODE.dmDuplexWindows- Pencetakan N-up - Demo
PrintPreferencesDelphi, C++Builder, dan Lazarus menampilkan komposisi lembar N-up, 1 / 2 / 4 / 9 halaman per lembar, dengan filter halaman ganjil / genap, rendering grayscale, border sel 1 piksel opsional, preferensi cetak penulis PDF, dan pemetaan niat duplex melaluiSetPdfPrintPaperHandlingDevMode
Demo Bawaan
Tree
Demo\Delphi,Demo\CBuilder, danDemo\Lazarusmenyertakan project sampel yang dapat dijalankan dan menguji permukaan API live di ketiga keluarga IDE. Sorotan:
- PDFViewer / MultiPageViewer / SplitView - Pemakaian TPdfView end-to-end: memuat, navigasi, zoom, rotasi, spread dua halaman, layout yang sadar cover, dan perbandingan PDF berdampingan Delphi / C++Builder / Lazarus dengan perintah tersinkronisasi; demo viewer ini juga menjadi tes kecepatan praktis untuk PDF multi-gigabyte, di mana dokumen 2.x GB dapat mencapai tampilan pertama yang dapat dipakai hampir seketika sementara rendering halaman tetap responsif
- ViewerInteractionLab - Sampel interaksi TPdfView yang fokus untuk Delphi, C++Builder, dan Lazarus, mencakup mode tampilan, mode fit, warna halaman, rotasi, highlight pencarian, seleksi teks, pratinjau teks terpilih, aksi clipboard, dan umpan balik koordinat DeviceToPage
- SearchAndSelect - Sampel alur kerja yang fokus untuk Delphi, Lazarus, dan C++Builder, mencakup daftar hasil pencarian seluruh halaman, navigasi kecocokan sebelumnya / berikutnya, loncat hasil dengan double-click,
HighlightSearchText, pencarian match-case / whole-word,AllowUserTextSelection,SelectedText,SelectAll,CopySelectionToClipboard,ClearSelection, dan mode tampilan spread- PreflightReport - Demo alur kerja Delphi, Lazarus, dan C++Builder plus pendamping konsol Delphi di sekitar
FPdfPreflightReportyang dapat digunakan ulang, mengumpulkan hasil validasi PDF/A, PDF/UA, PDF/E, PDF/X, PDF/R, dan PDF/VT ke dalam status, prioritas, kategori masalah, hitungan per kategori, baris ringkasan aksi berikutnya, rekomendasi masalah, pratinjau teks / Markdown / JSON / CSV, laporan TXT / HTML / Markdown / JSON / CSV, pembuatan laporan yang bisa di-skrip, pemrosesan batch daftar dan direktori dengan routing direktori laporan, ringkasan agregat TXT / JSON / HTML, manifes baris CSV, embedding lampiran laporan opsional, dan exit code gating CI- ContentExtractionLab - Alur kerja inventaris konten terpadu untuk Delphi, Lazarus, dan C++Builder yang mencakup metadata dokumen, teks halaman, objek halaman, gambar, lampiran, link, anotasi, bookmark, dan metrik font / karakter dengan ekspor TXT / JSON, seleksi kategori all / none, penyimpanan source-PDF, dan aksi salin laporan
- WatermarkStamp - Alur kerja Form XObject yang dapat digunakan ulang untuk Delphi, Lazarus, dan C++Builder, mencakup watermark terpusat, cap sudut, dan label nomor halaman di seluruh target PDF multi-halaman
- CreatePDF - Membangun PDF multi-halaman dari nol dengan teks, gambar, path, tabel, dan komposisi watermark; termasuk opsi 'European Text' untuk menulis teks Czech / French / German / Spanish / Portuguese / Polish / Turkish bertanda aksen guna memverifikasi pemilihan font dan penanganan Unicode
- ExtractText / ExtractImages / ContentExtractionLab - Menyimpan teks yang diekstrak (termasuk output terpisah per halaman) atau gambar tersemat ke disk; atau menghasilkan laporan inventaris konten multi-kategori dalam satu kali jalan
- FormFill - Membaca metadata field AcroForm, menulis nilai, meregenerasi tampilan /AP, dan menyimpan hasil yang bisa diedit atau yang sudah diratakan
- FontProperties - Memeriksa metadata karakter / font terindeks melalui TPdf dan TPdfView di Delphi, C++Builder, dan Lazarus
- MergePDF / SplitPDF - Menggabungkan beberapa PDF sumber (dengan pilihan rentang halaman per file, path output opsional, log proses, tombol batal, dan ringkasan penyelesaian penggabungan) atau membagi satu PDF menjadi file output per halaman
- PDFtoJpg / BatchExport - Konversi PDF ke JPG satu kali atau batch multi-file untuk Delphi, C++Builder, dan Lazarus, dengan progres total per file, progres saat ini per halaman, input DPI / kualitas / kata sandi, dan batch yang dapat dibatalkan secara kooperatif berbasis
IPdfCancellationToken- StandardsLab - Sampel alur kerja untuk Delphi, C++Builder, dan Lazarus bagi validasi PDF/A, PDF/UA, PDF/E, PDF/X, PDF/R, dan PDF/VT, pelaporan masalah, serta keluaran penyimpanan yang berorientasi standar
- PrintPDF / PrintPreferences - Pencetakan PDF standar Delphi, C++Builder, dan Lazarus dengan pratinjau, rentang halaman, copy, collate, progress, dan cancellation, ditambah komposisi lembar N-up Delphi, C++Builder, dan Lazarus dengan filter ganjil / genap serta preferensi cetak penulis PDF
- SecurityAudit - Sampel permukaan risiko hanya-baca untuk Delphi, C++Builder, dan Lazarus, mencakup izin, lampiran, aksi JavaScript, tautan URI / Launch, tautan web, tanda tangan, status XFA, ketersediaan helper V8 / XFA, dan laporan audit TXT / JSON
- Attachment - Membuat PDF, menambah / mencantumkan / mengekstrak / menghapus / menyimpan lampiran file tersemat dengan tampilan MIME subtype
- ImageToPDF - Konversi batch gambar ke satu PDF untuk Delphi, C++Builder, dan Lazarus, satu gambar per halaman, dengan pratinjau dan progres per gambar
Suite regression Delphi, C++Builder, dan Lazarus mencakup 147 kasus (Pas) / 123 kasus (C++) yang memakai fixture PDF yang sama sehingga perilaku tetap sejajar byte di ketiga keluarga IDE
Dukungan Platform
- Delphi - Delphi XE5 (RAD Studio XE5) sampai Delphi 13.1 Florence (RAD Studio 13.1)
- C++Builder - C++Builder XE5 (RAD Studio XE5) sampai C++Builder 13.1 Florence
- Lazarus - Dukungan Free Pascal / Lazarus
- Win32 / Win64 - Platform Windows 32-bit dan 64-bit