一、合併和拆分pdf檔案的方式
pdf檔案使用了工業標準的壓縮演算法,易於傳輸與儲存。它還是頁獨立的,乙個pdf檔案包含乙個或多個「頁「,可以單獨處理各頁,特別適合多處理器系統的工作。pdf檔案結構主要可以分為四個部分:首部、檔案體、交叉引用表、尾部。pdf操作類庫非常多,如下圖所示,常用的類庫有:spire.pdf、itextsharp。
二、使用 spire.pdf 合併和拆分pdf檔案
使用 nuget 新增spire.pdf 類庫,然後新增如下**:
1 /// 2 /// 合併pdf檔案
3 ///
4 /// 待合併檔案列表
5 /// 合併生成的檔名稱
6 static void spirepdfmerge(string files, string outfile)
7
11 12 /// 13 /// 按每頁拆分pdf檔案
14 ///
15 /// 待拆分pdf檔名稱
16 static void spirepdfsplit(string infile)
17 .pdf");
20 doc.close();
21 }
三、使用 itextsharp 合併和拆分pdf檔案使用 spire.pdf 操作pdf檔案,簡單高效,但生成的pdf檔案帶有水印,即使使用破解版在第一頁還是有水印,我們可以使用 itextsharp 類庫,該類庫生成的pdf無水印,具體使用如下:
1 /// 2 /// 合併pdf檔案
3 ///
4 /// 待合併檔案列表
5 /// 合併生成的檔名稱
6 static void itextsharppdfmerge(listinfiles, string outfile)
7
23 pdf.freereader(reader);
24 reader.close();
25 });
26 }
27 }
28 }
29 }
30 31 /// 32 /// 按每頁拆分pdf檔案
33 ///
34 /// 待拆分pdf檔名稱
35 static void itextsharppdfsplit(string infile)
36 .pdf", system.io.filemode.create));
45 sourcedocument.open();
46 var importedpage = pdfcopyprovider.getimportedpage(reader, i);
47 pdfcopyprovider.addpage(importedpage);
48 }
49 }
50 }
51 }
四、測試結果完整**如下:
1 using spire.pdf;
2 using system;
3 using system.collections.generic;
4 using system.io;
5 using system.linq;
6 using system.net.mime;
7 using system.text;
8 using system.threading.tasks;
9 using itextsharp.text;
10 using itextsharp.text.pdf;
11 using pdfdocument = itextsharp.text.pdf.pdfdocument;
12 13 namespace pdf
14 34 catch (exception e)
35
38 finally
39
42 }
43 44 #region spire.pdf
45 46 /// 47 /// 合併pdf檔案
48 ///
49 /// 待合併檔案列表
50 /// 合併生成的檔名稱
51 static void spirepdfmerge(string files, string outfile)
52
56 57 /// 58 /// 按每頁拆分pdf檔案
59 ///
60 /// 待拆分pdf檔名稱
61 static void spirepdfsplit(string infile)
62 .pdf");
65 doc.close();
66 }
67 68 #endregion
69 70 #region itextsharp.text.pdf
71 72 /// 73 /// 合併pdf檔案
74 ///
75 /// 待合併檔案列表
76 /// 合併生成的檔名稱
77 static void itextsharppdfmerge(listinfiles, string outfile)
78
94 pdf.freereader(reader);
95 reader.close();
96 });
97 }
98 }
99 }
100 }
101
102 /// 103 /// 按每頁拆分pdf檔案
104 ///
105 /// 待拆分pdf檔名稱
106 static void itextsharppdfsplit(string infile)
107 .pdf", system.io.filemode.create));
116 sourcedocument.open();
117 var importedpage = pdfcopyprovider.getimportedpage(reader, i);
118 pdfcopyprovider.addpage(importedpage);
119 }
120 }
121 }
122 }
123
124 #endregion
125
126 }
127 }
測試效果如下圖所示:
Python合併和拆分excel
當前目錄 og dir cwd origin 存放待合併的excel og ls os.listdir og dir 所有excel名稱 cb name combine.xlsx 合併後的檔名 合併 放置待拆分的excel 限1個 fname b dir os.listdir b dir 0 待拆分...
python 合併pdf檔案
coding utf 8 import os from pypdf2 import pdffilereader,pdffilewriter import time def getfilename filedir file list os.path.join root,filespath for ro...
drawboard pdf拆分檔案 PDF分頁
工作中經常會用到pdf,有時候需對pdf檔案進行一些處理卻讓我們束手無策,抓耳撓腮。比如拆分pdf。1官方pdf閱讀器 2 列印 這個估計是最常用的方法了。原來把拆分pdf的功能隱藏到這兒了。合併pdf模組是乙個付費專案,為啥拆分pdf也不搞成付費專案。難道工作中合併pdf的需求要遠遠高於拆分pdf...