itext7 如何删除段落文本和段落顶部之间的 space?
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);
}
我发现段落文字顶部和背景矩形之间有空隙,不同的字体大小造成不同的空隙。我怎样才能去掉间距。
您可以使用其中任何一种方法来减少 space 文档。
文档级别
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);
为段落控制行 spacing/leading。
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);
}
使用 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);
}
我发现段落文字顶部和背景矩形之间有空隙,不同的字体大小造成不同的空隙。我怎样才能去掉间距。
您可以使用其中任何一种方法来减少 space 文档。
文档级别
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);
为段落控制行 spacing/leading。
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);
}