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;

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

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

İlgili API'ler