簡體   English   中英

itext7如何刪除段落文本和段落頂部之間的空格?

[英]How can itext7 remove the space between paragraph text and paragraph top?

使用 itext7,我創建了一個包含兩個段落的 pdf。

string cardPdf = "card.pdf"; float cardWidth = 266.5f; float cardHeight = 164.4f;
using (PdfDocument cardDoc = new PdfDocument(new PdfWriter(cardPdf)))
using (Document doc = new Document(cardDoc))
{
    PdfPage page = cardDoc.AddNewPage(new iText.Kernel.Geom.PageSize(cardWidth, cardHeight));
    Paragraph pg1 = new Paragraph("WriteParagraph 1").SetFontSize(10f);
    pg1.SetBackgroundColor(iText.Kernel.Colors.ColorConstants.YELLOW);
    doc.Add(pg1);
    Paragraph pg2 = new Paragraph("WriteParagraph 2").SetFontSize(20f);
    pg2.SetBackgroundColor(iText.Kernel.Colors.ColorConstants.YELLOW);
    doc.Add(pg2);
}

我發現段落文本的頂部和背景矩形有空隙,不同的字體大小導致不同的空隙。 如何刪除間距。

您可以使用其中任何一種方法來減少文檔空間。

文檔級別

SetMargins(float topMargin, float rightMargin, float bottomMargin, float leftMargin);

SetTopMargin(float topMargin);
SetRightMargin(float rightMargin);
SetBottomMargin(float bottomMargin);
SetLeftMargin(float leftMargin);

段落級別

SetMargins(float topMargin, float rightMargin, float bottomMargin, float leftMargin);

SetMarginTop(float topMargin);
SetMarginRight(float rightMargin);
SetMarginBottom(float bottomMargin);
SetMarginLeft(float leftMargin);

控制段落的行距/前導。

SetMultipliedLeading(float leadingValue);

如果需要控制整個文件級別的領先。

SetProperty(int property, object value);

SetProperty(Property.LEADING, new Leading(Leading.MULTIPLIED, float leading Value);

嘗試這個:

string cardPdf = "card.pdf"; float cardWidth = 266.5f; float cardHeight = 164.4f;
using (PdfDocument cardDoc = new PdfDocument(new PdfWriter(cardPdf)))
using (Document doc = new Document(cardDoc))
{
    doc.SetMargins(15f, 20f, 15f, 20f);
    PdfPage page = cardDoc.AddNewPage(new iText.Kernel.Geom.PageSize(cardWidth, cardHeight));
    Paragraph pg1 = new Paragraph("WriteParagraph 1").SetFontSize(10f);
    pg1.SetBackgroundColor(iText.Kernel.Colors.ColorConstants.YELLOW);
    pg1.SetMultipliedLeading(0.8f);
    doc.Add(pg1);
    Paragraph pg2 = new Paragraph("WriteParagraph 2").SetFontSize(20f);
    pg2.SetMultipliedLeading(0.8f);
    pg2.SetMarginTop(0f);
    pg2.SetBackgroundColor(iText.Kernel.Colors.ColorConstants.YELLOW);
    doc.Add(pg2);
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM