Я пытаюсь преобразовать защищенные PDF файлы в XPS и обратно в PDF с помощью FreeSpire, а затем объединить их с помощью iTextSharp. Ниже приведен фрагмент кода для преобразования различных файлов.
char[] delimiter = { '\\' };
string WorkDir = @"C:\Users\rwong\Desktop\PDF\Test";
Directory.SetCurrentDirectory(WorkDir);
string[] SubWorkDir = Directory.GetDirectories(WorkDir);
//convert items to PDF
foreach (string subdir in SubWorkDir)
{
    string[] Loan_list = Directory.GetFiles(subdir);
    for (int f = 0; f < Loan_list.Length - 1; f++)
    {
        if (Loan_list[f].EndsWith(".doc") || Loan_list[f].EndsWith(".DOC"))
        {
            Spire.Pdf.PdfDocument doc = new Spire.Pdf.PdfDocument();
            doc.LoadFromFile(Loan_list[f], FileFormat.DOC);
            doc.SaveToFile((Path.ChangeExtension(Loan_list[f],".pdf")), FileFormat.PDF);
            doc.Close();
        }
        . //other extension cases
        .
        .
        else if (Loan_list[f].EndsWith(".pdf") || Loan_list[f].EndsWith(".PDF"))
         {
             PdfReader reader = new PdfReader(Loan_list[f]);
             bool PDFCheck = reader.IsOpenedWithFullPermissions;
             reader.Close();
             if (PDFCheck)
             {
                 Console.WriteLine("{0}\\Full Permisions", Loan_list[f]);
                 reader.Close();
             }
             else
             {
                 Console.WriteLine("{0}\\Secured", Loan_list[f]);
                 Spire.Pdf.PdfDocument doc = new Spire.Pdf.PdfDocument();
                 string path = Loan_List[f];
                 doc.LoadFromFile(Loan_list[f]);
                 doc.SaveToFile((Path.ChangeExtension(Loan_list[f], ".xps")), FileFormat.XPS);
                 doc.Close();
                 Spire.Pdf.PdfDocument doc2 = new Spire.Pdf.PdfDocument();
                 doc2.LoadFromFile((Path.ChangeExtension(Loan_list[f], ".xps")), FileFormat.XPS);
                 doc2.SaveToFile(Loan_list[f], FileFormat.PDF);
                 doc2.Close();
              }
Проблема в том, что я получаю Value cannot be null error в doc.LoadFromFile(Loan_list[f]);. У меня есть string path = Loan_list[f];, чтобы проверить, был ли Loan_list [f] пустым, но это не так. Я попытался заменить параметр Loan_list[f] на переменную с именем path, но также не работает. Я протестировал преобразование PDF в меньшем масштабе, с которым он работал (см. Ниже).
string PDFDoc = @"C:\Users\rwong\Desktop\Test\Test\Test.PDF";
string XPSDoc = @"C:\Users\rwong\Desktop\Test\Test\Test.xps";
//Convert PDF file to XPS file
PdfDocument doc = new PdfDocument();
doc.LoadFromFile(PDFDoc);
doc.SaveToFile(XPSDoc, FileFormat.XPS);
doc.Close();
//Convert XPS file to PDF
PdfDocument doc2 = new PdfDocument();
doc2.LoadFromFile(XPSDoc, FileFormat.XPS);
doc2.SaveToFile(PDFDoc, FileFormat.PDF);
doc2.Close();
Я хотел бы понять, почему я получаю эту ошибку и как ее исправить.
