diff --git a/EnvelopeGenerator.Jobs/Jobs/FinalizeDocument/PDFBurner.cs b/EnvelopeGenerator.Jobs/Jobs/FinalizeDocument/PDFBurner.cs index 942d608d..0d04846c 100644 --- a/EnvelopeGenerator.Jobs/Jobs/FinalizeDocument/PDFBurner.cs +++ b/EnvelopeGenerator.Jobs/Jobs/FinalizeDocument/PDFBurner.cs @@ -7,6 +7,8 @@ using iText.Kernel.Pdf; using iText.Kernel.Pdf.Canvas; using iText.Layout; using iText.Layout.Element; +using iText.Layout.Font; +using iText.Layout.Properties; using Microsoft.Extensions.Logging; using Microsoft.Extensions.Logging.Abstractions; using Newtonsoft.Json; @@ -17,6 +19,7 @@ namespace EnvelopeGenerator.Jobs.FinalizeDocument; public class PDFBurner { + private static readonly FontProvider FontProvider = CreateFontProvider(); private readonly ILogger _logger; private readonly PDFBurnerParams _pdfBurnerParams; @@ -160,6 +163,14 @@ public class PDFBurner } } + private static FontProvider CreateFontProvider() + { + var provider = new FontProvider(); + provider.AddStandardPdfFonts(); + provider.AddSystemFonts(); + return provider; + } + private void AddFormFieldValue(PdfDocument pdf, Annotation annotation, string value) { var bounds = annotation.bbox.Select(ToInches).ToList(); @@ -170,6 +181,9 @@ public class PDFBurner var page = pdf.GetPage(annotation.pageIndex + 1); var canvas = new Canvas(new PdfCanvas(page), page.GetPageSize()); + canvas.SetProperty(Property.FONT_PROVIDER, FontProvider); + canvas.SetProperty(Property.FONT, FontProvider.GetFontSet()); + var paragraph = new Paragraph(value) .SetFontSize(_pdfBurnerParams.FontSize) .SetFontColor(ColorConstants.BLACK) @@ -185,7 +199,8 @@ public class PDFBurner paragraph.SetBold(); } - canvas.ShowTextAligned(paragraph, + canvas.ShowTextAligned( + paragraph, x + (float)_pdfBurnerParams.TopMargin, y + (float)_pdfBurnerParams.YOffset, annotation.pageIndex + 1, diff --git a/EnvelopeGenerator.Jobs/Jobs/FinalizeDocument/ReportCreator.cs b/EnvelopeGenerator.Jobs/Jobs/FinalizeDocument/ReportCreator.cs index 3ba56c73..b0e4aa08 100644 --- a/EnvelopeGenerator.Jobs/Jobs/FinalizeDocument/ReportCreator.cs +++ b/EnvelopeGenerator.Jobs/Jobs/FinalizeDocument/ReportCreator.cs @@ -69,7 +69,7 @@ public class ReportCreator private List LoadReportItems(SqlConnection connection, int envelopeId) { - const string sql = "SELECT ENVELOPE_ID, HEAD_TITLE, HEAD_SUBJECT, POS_WHEN, POS_STATUS, POS_WHO FROM VWSIG_ENVELOPE_REPORT WHERE ENVELOPE_ID = @EnvelopeId"; + const string sql = "SELECT ENVELOPE_ID, POS_WHEN, POS_STATUS, POS_WHO FROM VWSIG_ENVELOPE_REPORT WHERE ENVELOPE_ID = @EnvelopeId"; var result = new List(); using var command = new SqlCommand(sql, connection); @@ -80,11 +80,9 @@ public class ReportCreator result.Add(new ReportItem { EnvelopeId = reader.GetInt32(0), - EnvelopeTitle = reader.IsDBNull(1) ? string.Empty : reader.GetString(1), - EnvelopeSubject = reader.IsDBNull(2) ? string.Empty : reader.GetString(2), - ItemDate = reader.IsDBNull(3) ? DateTime.MinValue : reader.GetDateTime(3), - ItemStatus = reader.IsDBNull(4) ? default : (EnvelopeGenerator.Domain.Constants.EnvelopeStatus)reader.GetInt32(4), - ItemUserReference = reader.IsDBNull(5) ? string.Empty : reader.GetString(5) + ItemDate = reader.IsDBNull(1) ? DateTime.MinValue : reader.GetDateTime(1), + ItemStatus = reader.IsDBNull(2) ? default : (EnvelopeGenerator.Domain.Constants.EnvelopeStatus)reader.GetInt32(2), + ItemUserReference = reader.IsDBNull(3) ? string.Empty : reader.GetString(3) }); }