質問編集履歴

3

コード修正

2021/11/17 09:58

投稿

monopoly_man
monopoly_man

スコア9

test CHANGED
File without changes
test CHANGED
@@ -122,7 +122,7 @@
122
122
 
123
123
 
124
124
 
125
- file_name = r'C:\PDF_IN\挿入後' + "/" + os.path.basename(i)
125
+ file_name = r'C:\PDF挿入\挿入後' + "/" + os.path.basename(i)
126
126
 
127
127
 
128
128
 

2

エラー追記しました。

2021/11/17 09:58

投稿

monopoly_man
monopoly_man

スコア9

test CHANGED
File without changes
test CHANGED
@@ -93,3 +93,85 @@
93
93
  AttributeError: 'NoneType' object has no attribute 'addPage'
94
94
 
95
95
  ```
96
+
97
+
98
+
99
+ 下記のコードで元のPDFを挿入後、元のファイル名で保存することに成功しましたが、成功するのは最初のPDFのみで、
100
+
101
+ ディレクトリ内にある2番目以降のPDFは上手く処理できませんでした。
102
+
103
+ ```python
104
+
105
+ import glob
106
+
107
+ import PyPDF2
108
+
109
+
110
+
111
+ files = glob.glob(r'C:\PDF挿入\挿入前*.pdf')
112
+
113
+ merger = PyPDF2.PdfFileMerger(strict=False)
114
+
115
+
116
+
117
+ for i in files:
118
+
119
+ merger.append(i)
120
+
121
+ merger.merge(2, 'C:\PDF挿入\A.pdf')
122
+
123
+
124
+
125
+ file_name = r'C:\PDF_IN\挿入後' + "/" + os.path.basename(i)
126
+
127
+
128
+
129
+ merger.write(file_name)
130
+
131
+ merger.close()
132
+
133
+ ```
134
+
135
+
136
+
137
+ エラーは下記です。解決方法が分からず悩んでおります。
138
+
139
+
140
+
141
+ ```python
142
+
143
+ ---------------------------------------------------------------------------
144
+
145
+ AttributeError Traceback (most recent call last)
146
+
147
+ <ipython-input-3-6deca51f3d5a> in <module>
148
+
149
+ 12
150
+
151
+ 13
152
+
153
+ ---> 14 merger.write(file_name)
154
+
155
+ 15 merger.close()
156
+
157
+ 16
158
+
159
+
160
+
161
+ ~\anaconda3\lib\site-packages\PyPDF2\merger.py in write(self, fileobj)
162
+
163
+ 218 # The commented out line below was replaced with the two lines below it to allow PdfFileMerger to work with PyPdf 1.13
164
+
165
+ 219 for page in self.pages:
166
+
167
+ --> 220 self.output.addPage(page.pagedata)
168
+
169
+ 221 page.out_pagedata = self.output.getReference(self.output._pages.getObject()["/Kids"][-1].getObject())
170
+
171
+ 222 #idnum = self.output._objects.index(self.output._pages.getObject()["/Kids"][-1].getObject()) + 1
172
+
173
+
174
+
175
+ AttributeError: 'NoneType' object has no attribute 'addPage'
176
+
177
+ ```

1

エラー内容を追記しました。

2021/11/17 09:57

投稿

monopoly_man
monopoly_man

スコア9

test CHANGED
File without changes
test CHANGED
@@ -39,3 +39,57 @@
39
39
  merger.close()
40
40
 
41
41
  ```
42
+
43
+
44
+
45
+ エラー内容は下記となります。
46
+
47
+ addpageの引数がエラーとなっています。
48
+
49
+ ファイルが一つしかない場合は、この引数にファイルパスを入力すればよいのですが、
50
+
51
+ ディレクトリ内の複数あるPDFにはエラーとなってしまうようです。
52
+
53
+
54
+
55
+ 保存先に関しては、C:\PDF挿入\挿入後フォルダに挿入前と同じファイル名で保存したいのですが、その方法が分からないため※※※※で表記してあります。
56
+
57
+
58
+
59
+ ```python
60
+
61
+ ---------------------------------------------------------------------------
62
+
63
+ AttributeError Traceback (most recent call last)
64
+
65
+ <ipython-input-3-72ca3ec7b122> in <module>
66
+
67
+ 3 merger.merge(2, 'C:\PDF挿入\A.pdf')
68
+
69
+ 4
70
+
71
+ ----> 5 merger.write(r'C:\PDF挿入\挿入後\000.pdf')
72
+
73
+ 6 merger.close()
74
+
75
+ 7
76
+
77
+
78
+
79
+ ~\anaconda3\lib\site-packages\PyPDF2\merger.py in write(self, fileobj)
80
+
81
+ 218 # The commented out line below was replaced with the two lines below it to allow PdfFileMerger to work with PyPdf 1.13
82
+
83
+ 219 for page in self.pages:
84
+
85
+ --> 220 self.output.addPage(page.pagedata)
86
+
87
+ 221 page.out_pagedata = self.output.getReference(self.output._pages.getObject()["/Kids"][-1].getObject())
88
+
89
+ 222 #idnum = self.output._objects.index(self.output._pages.getObject()["/Kids"][-1].getObject()) + 1
90
+
91
+
92
+
93
+ AttributeError: 'NoneType' object has no attribute 'addPage'
94
+
95
+ ```