Я также лицензировал библиотеку IronPDF, поэтому У меня есть ключ для него.
На рабочем столе все работает отлично. Продукт лицензирован, не имеет водяных знаков и файл подписан цифровой подписью.
ОДНАКО у меня есть тестовый rdp.
Я применил код в этот rdp, и даже водяной знак IronPDF, был удален.
Странное поведение: как только я делаю цифровой вход в свой тестовый rdp, я получаю журнал о том, что он лицензирован и что он был подписан. Но размер созданного файла составляет 0 КБ, однако при регистрации количества страниц файла и более он говорит, что он содержит, например, 4 страницы.
Как только я удаляю ключ, созданный файл становится пригодным для использования. размер, но файл не подписывается.
Отчасти кажется, что существует проблема как с подписанием, так и с лицензированием продукта.
Код здесь покажет журнал файла сразу после сохранения и входа в свой TEST rdp.
Хотя сейчас в журнале беспорядок, потому что я пробовал много вещей
Код: Выделить всё
2024-04-16 09:21:28.200 +03:00 [INF]The software is licensed.
2024-04-16 09:21:45.730 +03:00 [INF][MaagarTviotController - Post() method] calling SheiltaLebaalRechevPdf.init()
2024-04-16 09:21:48.221 +03:00 [INF]Generated PDF page count: 4
2024-04-16 09:21:48.221 +03:00 [INF]Pages were created successfully.
2024-04-16 09:21:48.228 +03:00 [INF]File was successfully saved at location C:\inetpub\wwwroot\MaagarTviotApi\MaagarLiav\Pdfs\
2024-04-16 09:21:48.229 +03:00 [INF]Looking for the digital signature certificate
2024-04-16 09:21:48.282 +03:00 [INF]File was successfully signed!
Код: Выделить всё
public string SavePdfFile(string LocalDirectory, string FileName, string FtpPath = null, string footerContent = null, CustomFont font = null)
{
try
{
// Instantiate Renderer
var renderer = new ChromePdfRenderer
{
RenderingOptions =
{
MarginTop = 12,
MarginLeft = 20,
MarginRight = 20,
MarginBottom = 12,
HtmlFooter = new HtmlHeaderFooter()
{
MaxHeight = 15,
HtmlFragment = $"{footerContent} {{page}}",
DrawDividerLine = false
}
}
};
var pdfdoc = renderer.RenderHtmlAsPdf(htmlPage.ToString());
// Log the actual page count for debugging purposes
Log.Information($"Generated PDF page count: {pdfdoc.PageCount}");
if (pdfdoc.PageCount == 0)
{
Log.Error("No pages were created in the PDF document.");
}
else
{
Log.Information("Pages were created successfully.");
}
pdfdoc.SaveAs(LocalDirectory + FileName); // Saves our PdfDocument object as a PDF
Log.Information($"File was successfully saved at location {LocalDirectory}");
Log.Information("Looking for the digital signature certificate");
var signature = new IronPdf.Signing.PdfSignature(@"C:\PdfSignatureCertificate\TestCertification.pfx", password)
{
SignatureDate = DateTime.Now
};
signature.SignPdfFile(LocalDirectory + FileName);
Log.Information("File was successfully signed!");
if (!String.IsNullOrWhiteSpace(FtpPath))
{
new SFtpUtilCore().saveFileToFtp(LocalDirectory, FileName, FtpPath);
}
}
catch (Exception ex)
{
Log.Error($"Error with certificate: {ex.Message}");
}
Log.Information(htmlPage.ToString());
return htmlPage.ToString();
}
Все началось с того, что на подписанном файле не было никаких признаков подписи.
Поэтому я подумал, что, может быть, это потому, что у меня в тестовой среде была пробная версия IronPDF, но лично я не думаю, что это проблема.
Спасибо за любую помощь!
Подробнее здесь: https://stackoverflow.com/questions/783 ... ed-is-0-kb