我試圖將安全的PDF轉換爲XPS並使用FreeSpire返回到PDF,然後使用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]是空的,但事實並非如此。我試圖用名爲path
的變量替換Loan_list[f]
參數,但它也不會去。我測試規模較小但它的工作的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();
我想知道爲什麼我收到此錯誤,以及如何解決它。
'string WorkDir = @「C:\ Users \ rwong \ Desktop \ PDF \ Test」;'嘗試將代碼更改爲以下內容 'string WorkDir = @「C:\ Users \ rwong \ Desktop \ PDF \ Test \「;'看看是否可以解決問題 – MethodMan
不是,它沒有什麼區別。我甚至嘗試在LoadFromFile(Loan_list [f],FileFormat.PDF)中添加另一個參數,但沒有骰子 – LampPost
您是否嘗試過不使用FileFormat.DOC參數?你有沒有嘗試把第一個參數的文字路徑?如果你做了這些事情之一,它會起作用嗎? –