1

アーカイブ用に大量の PDF ファイルをダウンロードするために使用している小さな Python スクリプトがあります。私が抱えている問題は、ファイルをダウンロードすると、正しいタイトルの下に正しく表示されますが、サイズが間違っていて、Acrobat で開くことができず、エラーメッセージOut of memoryまたはInsufficient data for an imageその他の任意の Acrobat エラーで失敗することです。 . ページのコンテンツをテキスト エディターで表示すると、PDF ドキュメントに少し似ています。つまり、一般的には理解できないということですが、PDF 識別子を含むテキストとマークアップの断片がいくつかあります。

ファイルをダウンロードするコードは次のとおりです。

def download_file( file_id):
    folder_path = ".\\pdf_files\\"
    file_download="http://myserver/documentimages.asp?SERVICE_ID=RETRIEVE_IMAGE&documentKey="    
    file_content = urllib.urlopen(file_download+file_id, proxies={})
    file_local = open( folder_path + file_id + '.pdf', 'w' )
    file_local.write(file_content.read())
    file_content.close()
    file_local.close()

同じファイルをブラウザからダウンロードすると問題ないように見えますが、ディスクのサイズも大きくなります。問題は、保存時のファイルのエンコードに関係しているのではないかと推測していますか?

4

1 に答える 1

4

バイナリファイルとして書き込む必要があるため、次のようにします。

file_local = open( folder_path + file_id + '.pdf', 'wb' )

于 2012-06-20T15:16:23.573 に答える