我使用itextsharp,我需要从页面的左到右绘制虚线换行符(100%宽度),但不知道如何。 doc总是左边有一个边距。请帮助
var pageSize = PageSize.A4;
if (_pdfSettings.LetterPageSizeEnabled)
{
pageSize = PageSize.LETTER;
}
var doc = new Document(pageSize);
PdfWriter.GetInstance(doc, stream);
doc.Open();
//fonts
var titleFont = GetFont();
titleFont.SetStyle(Font.BOLD);
titleFont.Color = BaseColor.BLACK;
titleFont.Size = 16;
var largeFont = GetFont();
largeFont.SetStyle(Font.BOLD);
largeFont.Color = BaseColor.BLACK;
largeFont.Size = 18;
int ordCount = orders.Count;
int ordNum = 0;
foreach (var order in orders)
{
var addressTable = new PdfPTable(3);
addressTable.WidthPercentage = 100f;
addressTable.SetWidths(new[] { 25, 37, 37 });
// sender address
cell = new PdfPCell();
//cell.Border = Rectangle.NO_BORDER;
cell.AddElement(new Paragraph("Người Gửi", titleFont));
cell.AddElement(new Paragraph(_localizationService.GetResource("admin.orders.pdfinvoice.sender", lang.Id), smallFont));
cell.AddElement(new Paragraph(_localizationService.GetResource("admin.orders.pdfinvoice.senderaddress", lang.Id), smallFont));
cell.AddElement(new Paragraph(_localizationService.GetResource("PDFInvoice.Hotline", lang.Id), smallFont));
cell.AddElement(new Paragraph("TAKARA.VN", largeFont));
addressTable.AddCell(cell);
......
Chunk linebreak = new Chunk(new DottedLineSeparator());
doc.Add(linebreak);
doc.Add(new Paragraph(""));
....
}
答案 0 :(得分:0)
请查看示例FullDottedLine。
您创建的DottedLineSeparator
默认宽度百分比为100%。此100%是具有页面边距的完整可用宽度。如果您希望线条超出可用宽度,则需要一个高于100%的百分比。
在该示例中,使用默认页面大小(A4)和默认边距(36)。这意味着页面的宽度为595个用户单位,可用宽度等于595 - (2 x 36)个用户单位。跨越页面整个宽度所需的百分比等于100 x(595/523)。
查看生成的PDF文件full_dotted_line.pdf,您会看到该行现在通过边距。