Как создать основной заголовок и подзаголовок в iTextsharp?
Я хочу изменить вывод моего кода.
Я использовал WPF framewrok с шаблоном MVVM. Я использовал iTextSharp dll для экспорта моего представления в pdf, но у меня нет никакого представления о том, как включить основной заголовок вместе с подзаголовком в мой вывод pdf. Является ли основной заголовок вместе с подзаголовком возможным в моем коде.
Что я уже пробовал:
using iTextSharp.text; using iTextSharp.text.pdf; using Microsoft.Win32; using System.Diagnostics; using System.IO; using System.Windows.Controls; namespace FasApp.UI.Views { /// <summary> /// Interaction logic for GeneralLedgerView.xaml /// </summary> public partial class GeneralLedgerView : UserControl { public GeneralLedgerView() { InitializeComponent(); } private void ExportToPdf_GeneralLedger(object sender, System.Windows.RoutedEventArgs e) { SaveFileDialog dlg = new SaveFileDialog { DefaultExt = ".pdf", Filter = "Adobe PDF Files(*.pdf)|*.pdf", FilterIndex = 1 }; string fileName = string.Empty; if (dlg.ShowDialog() == true) { fileName = dlg.FileName; Document doc = new Document(); PdfPTable tableLayout = new PdfPTable(5); PdfWriter.GetInstance(doc, new FileStream(fileName, FileMode.Create)); doc.Open(); doc.Add(Add_Content_To_PDF(tableLayout)); doc.Close(); Process.Start(fileName); } } private PdfPTable Add_Content_To_PDF(PdfPTable tableLayout) { float[] headers = { 15, 40, 15, 15, 15 }; tableLayout.SetWidths(headers); tableLayout.WidthPercentage = 80; tableLayout.AddCell(new PdfPCell(new Phrase("Statement of Financial Position", new Font(Font.NORMAL, 13, 1, new iTextSharp.text.BaseColor(153, 51, 0)))) { Colspan = 5, Border = 0, PaddingBottom = 5, HorizontalAlignment = Element.ALIGN_CENTER }); tableLayout.AddCell(new PdfPCell(new Phrase("December 31, 2018", new Font(Font.NORMAL, 10, 1, new iTextSharp.text.BaseColor(153, 51, 0)))) { Colspan = 5, Border = 0, PaddingBottom = 20, HorizontalAlignment = Element.ALIGN_CENTER }); AddCellToHeader(tableLayout, "Date"); AddCellToHeader(tableLayout, "Particulars"); AddCellToHeader(tableLayout, "Debit"); AddCellToHeader(tableLayout, "Credit"); AddCellToHeader(tableLayout, "Balance"); AddCellToBody(tableLayout, "1/1/18"); AddCellToBody(tableLayout, "Beginning Balance"); AddCellToBody(tableLayout, "100.00"); AddCellToBody(tableLayout, ""); AddCellToBody(tableLayout, "100.00"); AddCellToBody(tableLayout, ""); AddCellToBody(tableLayout, ""); AddCellToBody(tableLayout, ""); AddCellToBody(tableLayout, "300.00"); AddCellToBody(tableLayout, "200.00"); return tableLayout; } // Method to add single cell to the header private static void AddCellToHeader(PdfPTable tableLayout, string cellText) { tableLayout.AddCell(new PdfPCell(new Phrase(cellText, new Font(Font.NORMAL, 8, 1, iTextSharp.text.BaseColor.WHITE))) { HorizontalAlignment = Element.ALIGN_CENTER, Padding = 5, BackgroundColor = new iTextSharp.text.BaseColor(0, 51, 102) }); } private static void AddCellToBody(PdfPTable tableLayout, string cellText) { tableLayout.AddCell(new PdfPCell(new Phrase(cellText, new Font(Font.NORMAL, 8, 1, iTextSharp.text.BaseColor.BLACK))) { HorizontalAlignment = Element.ALIGN_CENTER, Padding = 5, BackgroundColor = iTextSharp.text.BaseColor.WHITE }); } } }