使用 pyPdf 打开 pdf url

新手上路,请多包涵

我如何从 url 而不是从磁盘打开 pdf

就像是

input1 = PdfFileReader(file("http://example.com/a.pdf", "rb"))

我想从网上打开几个文件并下载所有文件的合并。

原文由 meadhikari 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 627
2 个回答

我认为 urllib2 会得到你想要的。

 from urllib2 import Request, urlopen
from pyPdf import PdfFileWriter, PdfFileReader
from StringIO import StringIO

url = "http://www.silicontao.com/ProgrammingGuide/other/beejnet.pdf"
writer = PdfFileWriter()

remoteFile = urlopen(Request(url)).read()
memoryFile = StringIO(remoteFile)
pdfFile = PdfFileReader(memoryFile)

for pageNum in xrange(pdfFile.getNumPages()):
        currentPage = pdfFile.getPage(pageNum)
        #currentPage.mergePage(watermark.getPage(0))
        writer.addPage(currentPage)

outputStream = open("output.pdf","wb")
writer.write(outputStream)
outputStream.close()

原文由 John 发布,翻译遵循 CC BY-SA 3.0 许可协议

嗯,可以先单独下载pdf,然后用pypdf阅读

import urllib

url = 'http://example.com/a.pdf'
webFile = urllib.urlopen(url)
pdfFile = open(url.split('/')[-1], 'w')
pdfFile.write(webFile.read())
webFile.close()
pdfFile.close()

base = os.path.splitext(pdfFile)[0]
os.rename(pdfFile, base + ".pdf")

input1 = PdfFileReader(file(pdfFile, "rb"))

原文由 Switch 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题