我想编写一个生成.pdf文档的服务器端python脚本。
目前我已经安装了Python 2.7服务器端 和matplolib也安装了服务器端。
创建简单绘图并生成.png图片的简单脚本 的工作原理。
这是我使用的脚本:
# to access standard output :
import sys
# select a non-GUI backend :
import matplotlib
matplotlib.use('Agg')
#matplotlib.use("cairo.pdf")
#matplotlib.use('PDF')
# import plotting module :
import matplotlib.pyplot as plt
# generate the plot :
plt.plot([1,2,3,2,3,4])
# print the content type (what's the data type)
# the new line is embedded, using '\n' notation :
print "Content-Type: image/png\n"
# print "Content-Type: image/PDF\n"
# print "Content-type: application/pdf"
# output directly to webserver, as a png file:
plt.savefig(sys.stdout, format='png')
# plt.savefig(sys.stdout, format='PDF')
# plt.savefig( "test.pdf", format='pdf' )
我想知道如何做同样的事情,但发送pdf文件而不是 一张照片。 (#或粗体字符适用于我尝试并放在评论中的所有内容)
有人知道吗?
感谢。
吉恩克劳德
答案 0 :(得分:4)
首先,在你的代码中,你向stdout发送print语句和数字本身的单词。
我刚试过你的脚本,改变了这样的评论
# plt.savefig(sys.stdout, format='png')
# plt.savefig(sys.stdout, format='PDF')
plt.savefig( "test.pdf", format='pdf' )
它对我来说很好。我正在使用python 2.6.smth和matplolib 0.99
答案 1 :(得分:2)
我只是在这里猜测,但是correct MIME type是application / pdf,并且在该注释行中,您没有在print语句中包含必要的额外换行符。