У меня есть программа на C # .NET, работающая в Visual Studio.Его функция заключается в объединении файлов PDF вместе на основе их имен файлов.Он отлично работает для первых 12 или около того PDF-файлов, но затем неожиданно завершает работу с кодом 0 в определенный момент.Я не использую многопоточность, и я использую библиотеку PDF iTextSharp.
public static string MergePDFs(List<string> fileNames, ref string targetPdf)
{
string merged = "";
using (FileStream stream = new FileStream(targetPdf, FileMode.Create))
{
Document document = new Document();
PdfCopy pdf = new PdfCopy(document, stream);
PdfReader reader = null;
try
{
document.Open();
foreach (var file in fileNames)
{
reader = new PdfReader(file);
pdf.AddDocument(reader);
reader.Close();
}
}
catch (Exception)
{
// merged = "false";
if (reader != null) reader.Close();
}
finally
{
if (document != null)
{
Console.WriteLine("Closing document.");
document.Close(); // exits here
Console.WriteLine("Document closed.");
}
}
}
return merged;
}
Выходные данные в отладчике:
...
Closing document.
The program has exited with code 0 (0x0)