Impor Paginasi RichEdit dan RTF

THotPDF.ImportRTF memuat RTF ke RichEdit Windows dan THotPDF.ImportRichEdit memaginasi kontrol yang ada menjadi halaman PDF

Model rendering

Paginasi menggunakan EM_FORMATRANGE dengan persegi panjang halaman terbatas dan memancarkan setiap halaman melalui metafile yang disempurnakan

Teks, perubahan font, pemformatan paragraf, aturan vektor, dan operasi GDI lain tetap menjadi operator teks atau vektor PDF setiap kali pipeline RichEdit dan EMF mengeksposnya dengan cara itu

Data RTF pict dan presentasi OLE statis yang didukung RichEdit dibawa oleh jalur EMF yang sama, sehingga tidak diperlukan rasterisasi seluruh-halaman

Utas dan siklus hidup

Keamanan dan anggaran

THPDFRTFImportOptions.Default membatasi masukan hingga 16 MiB, teks hingga 4.000.000 karakter, keluaran hingga 1.000 halaman, dan data EMF terakumulasi hingga 256 MiB

OLE tersemat dinonaktifkan secara default dan memerlukan AllowOLE=True; mengaktifkannya harus dibatasi ke RTF tepercaya karena RichEdit Windows memiliki permukaan handler OLE yang terinstal

CancellationToken diperiksa di antara halaman dan mengembalikan risCancelled tanpa merender halaman tambahan

Pelaporan hasil

THPDFRTFImportStatistics melaporkan byte masukan, rentang karakter, halaman yang dirender dan ditambahkan, byte metafile terakumulasi, keberadaan OLE, pemotongan, dan THPDFRTFImportStatus yang stabil

Kehabisan anggaran, geometri halaman tidak valid, panggilan utas-salah, paginasi tanpa-kemajuan, dan kegagalan rendering mengembalikan False dengan status spesifik

Contoh

Options := THPDFRTFImportOptions.Default;
Options.PageWidth := 612;
Options.PageHeight := 792;
Options.MarginLeft := 54;
Options.MarginRight := 54;

Document.BeginDoc;
RTFStream.Position := 0;
if not Document.ImportRTF(RTFStream, Options, Statistics) then
  raise Exception.CreateFmt(
    'RTF import failed with status %d',
    [Ord(Statistics.Status)]
  );

Lihat juga: THotPDF.ImportRTF, THotPDF.ImportRichEdit, SVG Form XObject Import