Предположим, у меня есть страница HTML/CSS с некоторыми изображениями в ней, и я хотел бы сгенерировать PDF из этого источника в Python - возможно?Как сгенерировать PDF из источника HTML/CSS (включая изображения) в Python?
ответ
установка была немного изворотливой для меня, но в остальном все работало нормально.
Просто столкнулся с этим после публикации. Работайте отлично! –
Вы можете сделать что-то подобное с помощью Pisa
:
def receipt(request, id):
import ho.pisa as pisa
from django.template.loader import render_to_string
from datetime import datetime
r = get_or_404(id, request.affiliate)
now = datetime.now()
contents = render_to_string('home/reservations/receipt.html', {
'reservation': r,
'today': now
})
filename = now.strftime('%Y-%m-%d') + '.pdf'
response = HttpResponse(mimetype='application/pdf')
response['Content-Disposition'] = 'attachment; filename=' + filename
pdf = pisa.CreatePDF(contents, response)
if pdf.err:
message(request, 'Unable to generate the receipt.')
return HttpResponseRedirect(reverse('view_reservation', args=[r.id]))
else:
return response
(Это вид Джанго, который генерирует квитанцию, но, очевидно, вы можете использовать Пизу в любой обстановке)
Вы будете иметь чтобы настроить HTML, чтобы заставить его играть как можно лучше с Пизой.
Существует wkhtmltopdf, возможно, лучший вариант, который я недавно начал использовать для своего проекта. Он не только поддерживает почти полный CSS, но и javascript. Сначала попробуйте выполнить команду wkhtmltopdf, чтобы понять ее силу. Затем вы используете его расширение python.
Вот ссылки
Это было немного сложно установить для меня. Поэтому я написал этот быстрый и грязный сценарий.
Желание я мог бы дать +2 для скрипта! Благодаря! – heltonbiker
один раз или только как часть кнопки «загрузить эту страницу в PDF» на веб-странице? Какая платформа? Mac OS X позволяет сохранять любую веб-страницу в формате PDF. –