Полная ширина и высота таблицы iText 5 .NET в PDF документе - PullRequest
0 голосов
/ 16 апреля 2019

Я использую iText 5 .NET (ранее известный как iTextSharp) в приложении ASP.Net WebForms, чтобы позволить пользователю создавать ID-карты.Идентификационная карта нуждается во всей области карты для информации, расположенной в 2-х колоночном макете.

Я использую таблицу для основного макета, но не могу установить таблицу на полную ширину и высоту.Между границей документа и таблицей всегда есть область.

Я не знаю, есть ли в документе заполнение по умолчанию или в чем проблема.

Есть ли способустановить таблицу в документе PDF на полную ширину и высоту?

Вот изображение того, как оно выглядит сейчас:

https://imgur.com/jgMHywP

Покрасьте ячейки стола желтым и розовым для просмотра таблицы и объяснения.Хотите, чтобы весь документ был наполовину желтым и наполовину розовым.

Вот мой код:

// 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);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...