特定のディレクトリ内のすべての my .docx
、.doc
、.ppt
、.pptx
、およびファイルの合計ページ数を計算します。.pdf
しかし、PowerPoint のスライドの数え方に少し戸惑っています。
これが私が試したことです:
from glob import glob
from PyPDF2 import PdfFileReader
import win32com.client
def pdf_page_count(filename):
curr = open(filename, "rb")
page_count = PdfFileReader(curr).getNumPages()
curr.close()
return page_count
def presentation_slide_count(filename):
Application = win32com.client.Dispatch("PowerPoint.Application")
Presentation = Application.Presentations.Open(filename)
slide_count = len(Presentation.Slides)
Presentation.Close()
return slide_count
if __name__=='__main__':
powerpoints = glob('*/*/*.pptx') + glob('*/*/*.ppt')
documents = glob('*/*/*.docx') + glob('*/*/*.doc')
pdf = glob('*/*/*.pdf')
total_pdf_pages = sum([pdf_page_count(pdf) for pdf in pdf])
total_docx_pages = 0
total_powerpoint_slides = sum([presentation_slide_count(presentation)
for presentation in powerpoints])
print total_pdf_pages
print total_powerpoint_slides
さらに、python-pptxを使用してみましたが、lxml エラーを受け取りました (そのため、独自の lxml を構築しようとしましたが、iconv 依存関係の問題でエラーが発生しました)。また、pptx しかサポートしていないため、ppt の代替方法を見つける必要があります。PowerPoint 2013 x64 がインストールされており、Python 2.7.4 x64 を使用しています。