質問編集履歴

2

誤字の訂正

2018/02/02 11:07

投稿

84zero
84zero

スコア48

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

解決方法の追記

2018/02/02 11:07

投稿

84zero
84zero

スコア48

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
+ ```