From 40076f0ec2e1f04c80cbdd4a8c993937d6d352d8 Mon Sep 17 00:00:00 2001 From: ngfrolov Date: Wed, 15 Feb 2023 17:15:09 +0500 Subject: [PATCH] remove deprecated iTextSharp --- .../AsbCloudInfrastructure.csproj | 1 - .../DrillingProgram/Convert/ConvertToPdf.cs | 28 ++++++++----------- 2 files changed, 12 insertions(+), 17 deletions(-) diff --git a/AsbCloudInfrastructure/AsbCloudInfrastructure.csproj b/AsbCloudInfrastructure/AsbCloudInfrastructure.csproj index 1a8e2432..500299b9 100644 --- a/AsbCloudInfrastructure/AsbCloudInfrastructure.csproj +++ b/AsbCloudInfrastructure/AsbCloudInfrastructure.csproj @@ -41,7 +41,6 @@ - diff --git a/AsbCloudInfrastructure/Services/DrillingProgram/Convert/ConvertToPdf.cs b/AsbCloudInfrastructure/Services/DrillingProgram/Convert/ConvertToPdf.cs index b7751ba4..94925daf 100644 --- a/AsbCloudInfrastructure/Services/DrillingProgram/Convert/ConvertToPdf.cs +++ b/AsbCloudInfrastructure/Services/DrillingProgram/Convert/ConvertToPdf.cs @@ -1,12 +1,12 @@ -using iTextSharp.text; -using iTextSharp.text.pdf; -using System.Collections.Generic; +using System.Collections.Generic; using System.IO; using System.Linq; using CliWrap; using System.Threading.Tasks; using System.Threading; using System; +using iText.Kernel.Pdf; +using iText.Kernel.Utils; namespace AsbCloudInfrastructure.Services.DrillingProgram.Convert { @@ -17,21 +17,17 @@ namespace AsbCloudInfrastructure.Services.DrillingProgram.Convert private static void MergeFiles(IEnumerable inputFiles, string outFile) { - using var stream = new FileStream(outFile, FileMode.Create); - using var doc = new Document(); - using var pdf = new PdfCopy(doc, stream); - doc.Open(); - var inputFilesList = inputFiles.ToList(); - foreach (var file in inputFilesList) + using var docResult = new PdfDocument(new PdfWriter(outFile)); + var merger = new PdfMerger(docResult); + + foreach (var fileName in inputFiles) { - var reader = new PdfReader(file); - for (int i = 0; i < reader.NumberOfPages; i++) - { - pdf.AddPage(pdf.GetImportedPage(reader, i + 1)); - } - pdf.FreeReader(reader); - reader.Close(); + using var doc = new PdfDocument(new PdfReader(fileName)); + merger.Merge(doc, 1, doc.GetNumberOfPages()); + doc.Close(); }; + + docResult.Close(); } private static (string programFile, string programArg) GetOptionsStartupProcess (string inputFileName, string resultFileDir)