Kısıtlı Akan Yerleşim
HotPDF yeniden kullanılabilir öğeleri çizmeden ölçebilir, paragraf, satır, kapsayıcı ve özel öğeleri kendi devamlarına bölebilir, yeniden kullanılabilir sayfa katmanları oluşturabilir, tamamlanan sayfaları dosya destekli depolamada hazırlayabilir, paragraf sayfa sonu kısıtları uygulayabilir ve sınırlı tanılamalar ortaya koyabilir
Yeniden kullanılabilir ölçme ve çizme sözleşmesi
THPDFLayoutElement'ten türetin ve yan etkisi olmayan Measure ile Draw'ı uygulayın; ölçme yalnızca THPDFLayoutConstraints alır; bu nedenle bir sayfa veya belge çizme yüzeyine sahip değildir
MeasureLayoutElement negatif olmayan boyutları doğrular ve yerleştirme için kullanılan aynı genişlik ve yükseklik kısıtlarından Fits'i merkezi olarak hesaplar
THPDFLayoutElementKind, ElementKind'ın bir uygulamayı lekParagraph, lekRow, lekContainer veya lekCustom olarak sınıflandırmasına olanak tanırken ElementPath kararlı tanılama bağlamı sağlar
Bölme ve taşma sahipliği
Bölünebilir bir öğe, çağırana ait yerleştirilen ve taşan öğeleri içeren THPDFLayoutSplit döndürür; PlaceLayoutElement yerleştirilen başı yeniden ölçer, yalnızca sığıyorsa çizer ve kuyruğu THPDFLayoutOverflow'a aktarır
THPDFLayoutOverflow kaynak sayfayı ve öğe yolunu kaydeder, devamlı varsayılan olarak sahiplenir ve onu DetachElement aracılığıyla açıkça devreder
Bildirimsel sayfa katmanları
BeginDoc'tan önce AddPageLayer ile geri çağırmaları plkBackground, plkHeader, plkFooter veya plkForeground seçerek kaydedin
Her geri çağırma sayfa başına tam olarak bir kez arka plan, üstbilgi, belge içeriği, altbilgi ve ön plan sırasında çalışır ve bir grafik durumu kaydetme ve geri yükleme çiftiyle yalıtılır
RemovePageLayer bir kaydı tanımlayıcıya göre kaldırırken ClearPageLayers belge üretimi başlamadan önce yeniden kullanılabilir bileşimi sıfırlar
THPDFPageLayerRegistration kararlı tanımlayıcıyı, katman türünü ve belgenin sıralı kayıt listesi tarafından dahili olarak kullanılan nesne-yöntem işleyicisini saklar
Anlık sayfa boşaltma
Sayfa sayısı önceden bilinmeyen raporlar için BeginDoc'tan önce ImmediateFlushLayout'ı ayarlayın
Bir sayfa kapandığında, son sıkıştırılmış veya sıkıştırılmamış içerik akışı bellekten kendi geçici dosya akışına taşınırken PDF nesnesi normal çapraz başvuru ve kaynak sonlandırması için kullanılabilir kalır
ImmediateFlushedPageCount ve ImmediateFlushedBytes hazırlanan içeriğin miktarını raporlar ve geçici dosyalar sahibi olan akışlar serbest bırakıldığında silinir
Paragraf sayfalama
ParagraphIndex := PDF.CreateParagraph(0, jtLeft, 36, 36, 36, 36);
PDF.ConfigureParagraphPagination(ParagraphIndex, True, 2, 2);
PDF.ConfigureParagraphDirection(ParagraphIndex, pdAuto);
PDF.BeginParagraph(ParagraphIndex);
PDF.CurrentParagraph.ShowUnicodeText(BodyText);
PDF.EndParagraph;
KeepWithNext, bir paragrafı izleyen içerik için korunması gereken son satırı tüketmesi durumunda taşırMinOrphanLines, bir sayfanın altında çok az açılış satırı bırakılmasını önlerMinWidowLines, sonraki sayfada çok az kapanış satırı kalacaksa bir sonu ilerletir- Otomatik devamlı kaynak sayfa genişliğini, yüksekliğini, yazı tipini, kenar boşluklarını ve paragraf ayarlarını korur
ParaAutoAddPageyanlış olduğunda taşma geçerli sayfada durur ve birldkOverflowtanılaması üretir
Yerleşim tanılamaları
THPDFLayoutDiagnostic, her tutulan karar için THPDFLayoutDiagnosticKind'ı, kaynak ve ilgili sayfa indekslerini, etkilenen dikdörtgeni, satır sayısını ve bir İngilizce nedeni kaydeder
THPDFLayoutDiagnosticArray, GetLayoutDiagnostics tarafından döndürülürken GetLayoutDiagnostic bir kopya ayırmadan indeksli erişimi destekler
LayoutDiagnosticLimit tutulan kayıtları sınırlar ve LayoutDiagnosticDroppedCount o sınırdan sonra atılan kararları raporlar
ldkAutomaticPageBreaksıradan bir devamlı rapor ederldkKeepWithNext,ldkOrphanControlveldkWidowControlbir sonu taşıyan kısıtı tanımlarldkOverflowdevre dışı bırakılan otomatik sayfalama tarafından durdurulan içeriği tanımlarldkImmediateFlushdosya destekli depolamaya taşınan kapatılmış bir sayfayı tanımlarldkPageLayertamamlanmış bildirimsel bir sayfa katmanı geçişini tanımlar
Paragraf yönü
THPDFParagraphDirection, pdAuto, pdLeftToRight ve pdRightToLeft sağlar
DetectParagraphDirection, BMP ve ek düzlem RTL betikleri boyunca ilk-güçlü-karakter çözümlemesi uygular; böylece nötr önekler ve ikincil yönlü diziler yanlış temel yönü seçmez
Kalıcı bir paragraf ayarı için ConfigureParagraphDirection'ı veya etkin paragraf için THPDFPara.Direction özelliğini kullanın
PDF/UA paragraf semantiği
Root := PDF.AddStructureElement('Document', nil);
Paragraph := PDF.BeginTaggedParagraph(Root, 'en-US', 'Accessible text');
PDF.CurrentPage.TextOut(36, 72, 0, WideString('Accessible text'));
PDF.EndTaggedParagraph;
PDF.BeginPaginationArtifact(pasHeader);
PDF.CurrentPage.TextOut(36, 20, 0, WideString('Running header'));
PDF.EndPaginationArtifact;
BeginTaggedParagraph, ayrılmış bir MCID, sayfa üst ağacı bağlantısı ve isteğe bağlı /Lang ve /ActualText değerleriyle standart bir /P işaretli içerik dizisi yayar
THPDFPaginationArtifactSubtype, /Artifact içeriği olarak /Type /Pagination ve eşleşen standart alt türle yayılan pasHeader, pasFooter, pasWatermark ve pasPageNumber sağlar