質問編集履歴
2
誤字の訂正
test
CHANGED
File without changes
|
test
CHANGED
@@ -172,7 +172,35 @@
|
|
172
172
|
|
173
173
|
```python
|
174
174
|
|
175
|
-
#
|
175
|
+
#! python3
|
176
|
+
|
177
|
+
# PDFファイルの指定したページを抜き出すプログラム
|
178
|
+
|
179
|
+
#『退屈なことはパイソンにやらせよう』の340ページ参考
|
180
|
+
|
181
|
+
# file1.pdfをカレントディレクトリに保存しおておくこと
|
182
|
+
|
183
|
+
|
184
|
+
|
185
|
+
import PyPDF2
|
186
|
+
|
187
|
+
print('編集するファイル名を入力してください。例)file1.pdf')
|
188
|
+
|
189
|
+
file1 = input()
|
190
|
+
|
191
|
+
print('指定したファイルのページを抜き出します。')
|
192
|
+
|
193
|
+
print('抜き出す最初のページを入力してください')
|
194
|
+
|
195
|
+
start_page = int(input())-1
|
196
|
+
|
197
|
+
print('抜き出す最後のページを入力してください')
|
198
|
+
|
199
|
+
finish_page = int(input())
|
200
|
+
|
201
|
+
print('出力するファイル名を入力してください。例)file2.pdf')
|
202
|
+
|
203
|
+
file2 = input()
|
176
204
|
|
177
205
|
|
178
206
|
|
@@ -206,6 +234,14 @@
|
|
206
234
|
|
207
235
|
|
208
236
|
|
237
|
+
pdf_output_file = open(file2,'wb')#出力するファイル2を作成
|
238
|
+
|
239
|
+
pdf_writer.write(pdf_output_file)#ファイル2に出力
|
240
|
+
|
241
|
+
pdf_output_file.close()#ファイル2を閉じる
|
242
|
+
|
209
|
-
#
|
243
|
+
pdf1_file.close()#ファイル1を閉じる
|
210
|
-
|
244
|
+
|
245
|
+
|
246
|
+
|
211
|
-
```
|
247
|
+
```
|
1
解決方法の追記
test
CHANGED
File without changes
|
test
CHANGED
@@ -163,3 +163,49 @@
|
|
163
163
|
できれば、上記警告文の対応策も教えていただければ助かります。
|
164
164
|
|
165
165
|
バージョン Python 3.6
|
166
|
+
|
167
|
+
|
168
|
+
|
169
|
+
解決しました。解決後のプログラムは以下の通りです。
|
170
|
+
|
171
|
+
|
172
|
+
|
173
|
+
```python
|
174
|
+
|
175
|
+
#---(略)---
|
176
|
+
|
177
|
+
|
178
|
+
|
179
|
+
pdf1_file = open(file1,'rb')#ファイル1を開く
|
180
|
+
|
181
|
+
pdf1_reader = PyPDF2.PdfFileReader(pdf1_file)#ファイル1を読み込む
|
182
|
+
|
183
|
+
pdf_copy = PyPDF2.PdfFileWriter()#新しい白紙のPDFファイルを作成
|
184
|
+
|
185
|
+
pdf_writer = PyPDF2.PdfFileWriter()#新しい白紙のPDFファイルを作成
|
186
|
+
|
187
|
+
|
188
|
+
|
189
|
+
#ファイル1をコピーして、コピーしたページを白紙のPDFに書き込む
|
190
|
+
|
191
|
+
for page_num in range(0,pdf1_reader.numPages):
|
192
|
+
|
193
|
+
page_obj = pdf1_reader.getPage(page_num)
|
194
|
+
|
195
|
+
pdf_copy.addPage(page_obj)
|
196
|
+
|
197
|
+
|
198
|
+
|
199
|
+
#ファイル1の指定したページをコピーして、コピーしたページを白紙のPDFに書き込む
|
200
|
+
|
201
|
+
for page_num in range(start_page,finish_page):
|
202
|
+
|
203
|
+
page_obj = pdf_copy.getPage(page_num)
|
204
|
+
|
205
|
+
pdf_writer.addPage(page_obj)
|
206
|
+
|
207
|
+
|
208
|
+
|
209
|
+
#---略---
|
210
|
+
|
211
|
+
```
|