Я использую iText 5 .NET (ранее известный как iTextSharp) в приложении ASP.Net WebForms, чтобы позволить пользователю создавать ID-карты.Идентификационная карта нуждается во всей области карты для информации, расположенной в 2-х колоночном макете.
Я использую таблицу для основного макета, но не могу установить таблицу на полную ширину и высоту.Между границей документа и таблицей всегда есть область.
Я не знаю, есть ли в документе заполнение по умолчанию или в чем проблема.
Есть ли способустановить таблицу в документе PDF на полную ширину и высоту?
Вот изображение того, как оно выглядит сейчас:
Покрасьте ячейки стола желтым и розовым для просмотра таблицы и объяснения.Хотите, чтобы весь документ был наполовину желтым и наполовину розовым.
Вот мой код:
// PDF ERZEUGEN
// einmaligen Dateinamen erzeugen
Guid pdfDateiname = Guid.NewGuid();
string dateiendungPdf = ".pdf";
string pdfDateinameKomplett = Pfad + pdfDateiname + dateiendungPdf;
// Ausweisgrößen von Millimeter in Pixel umrechnen
float ausweishöhe = Utilities.MillimetersToPoints(Convert.ToSingle(54));
float ausweisbreite = Utilities.MillimetersToPoints(Convert.ToSingle(84.7));
// Viereck für die Ausweisgröße
iTextSharp.text.Rectangle ausweisgröße = new iTextSharp.text.Rectangle(ausweisbreite, ausweishöhe);
// Grundcontainer für das PDF
Document doc = new Document(ausweisgröße, 0, 0, 0, 0);
// Möglichkeit das PDF physikalisch in eine Datei zu schreiben
PdfWriter writer = PdfWriter.GetInstance(doc, new FileStream(pdfDateinameKomplett, FileMode.Create));
writer.SetFullCompression();
writer.CloseStream = true;
// PDF-Grundcontainer für das Bestücken weiterer Elemente zugänglich machen
doc.Open();
doc.NewPage();
// 2-spaltiges Layout
PdfPTable aussenLayout = new PdfPTable(2);
//aussenLayout.WidthPercentage = 100;
aussenLayout.TotalWidth = ausweisbreite;
aussenLayout.LockedWidth = true;
aussenLayout.SpacingAfter = 0;
aussenLayout.SpacingBefore = 0;
// linke Spalte des Ausweises
PdfPCell linkeSpalte = new PdfPCell();
linkeSpalte.PaddingTop = Utilities.MillimetersToPoints(20);
linkeSpalte.Border = iTextSharp.text.Rectangle.NO_BORDER;
linkeSpalte.HorizontalAlignment = Element.ALIGN_LEFT;
linkeSpalte.BackgroundColor = BaseColor.YELLOW;
// Name Mitglied
iTextSharp.text.Font schriftMitgliedName = FontFactory.GetFont("Arial Narrow Bold", 10, BaseColor.BLACK);
Phrase labelMitgliedName = new Phrase(personObjekt.vorname + " " + personObjekt.nachname, schriftMitgliedName);
linkeSpalte.AddElement(labelMitgliedName);
// Name Stammverein
// Disziplinen
aussenLayout.AddCell(linkeSpalte);
// rechte Spalte des Ausweises
PdfPCell rechteSpalte = new PdfPCell();
rechteSpalte.PaddingTop = Utilities.MillimetersToPoints(20);
rechteSpalte.Border = iTextSharp.text.Rectangle.NO_BORDER;
rechteSpalte.HorizontalAlignment = Element.ALIGN_RIGHT;
rechteSpalte.BackgroundColor = BaseColor.PINK;
doc.Add(aussenLayout);