我有兩個PDF文件:Pdf A
和Pdf B
。 Pdf A
已經存在於計算機的C:
驅動器上,並且Pdf B
通過也登錄在C:
驅動器中的程序生成。pdf文檔正在被另一個進程使用
我想要做的是將兩者結合起來,以便Pdf A
的頁面先顯示,然後Pdf B
的頁面顯示在此之後。
這裏是我的代碼,試圖將兩個給定的PDF文件的列表合併(Pdf A
是第一要素和Pdf B
在files
列表中的第二個元素,而destinationfile
是Pdf A
):
public static void MergePdfFiles(string destinationfile, List<string> files)
{
Document document = null;
try
{
List<PdfReader> readers = new List<PdfReader>();
List<int> pages = new List<int>();
foreach (string file in files)
{
readers.Add(new PdfReader(file));
}
document = new Document(readers[0].GetPageSizeWithRotation(1));
PdfWriter writer = PdfWriter.GetInstance(document, new FileStream(destinationfile, FileMode.Create));
document.Open();
foreach (PdfReader reader in readers)
{
pages.Add(reader.NumberOfPages);
WritePage(reader, document, writer);
}
}
catch (Exception ex)
{
MessageBox.Show(ex.ToString());
}
finally
{
//being used by another process
document.Close();
}
}
文檔對象試圖關閉時出現問題。它說它正在使用另一個過程。
什麼是「其他」過程使用它?
爲了找出哪些進程正在使用PDFA或者使用的ProcessMonitor或UnlockMe – HatSoft
具有u試圖writer.close( )之前document.close – Karthik
讓我嘗試添加。一會兒。 – user1197993