xhtml2pdf不嵌入Helveti

2024-09-30 01:32:18 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在用Django用xhtml2pdf创建一个PDF。我正在发送PDF文件打印,但是他们说有些字体没有嵌入。我有一个Helvetica字体,但我没有在PDF中使用Helvetica。在

这里有一个PDF属性的屏幕截图

enter image description here

如您所见,Guilles的ComicFont和TF2Secondary是正确的,但与Helvetica不同。在

下面是生成PDF的我的视图:

def generate_pdf(request, book, order):
    try:
        book = Book.objects.get(pk=int(book))
        order = Order.objects.get(identificador=order, cuento=book)
    except ObjectDoesNotExist:
        raise Http404


    data = {}
    data = ast.literal_eval(order.datos_variables)

    data['order'] = order

    template = get_template(order.book.plantilla_html)
    html  = template.render(Context(data))

    url = '/Users/vergere/dev/media/pdfs/%s.pdf' % order.identificador

    fichero = open(url, "w+b")
    pisaStatus = pisa.CreatePDF(html.encode('utf-8'), dest=fichero, encoding='utf-8')

    fichero.seek(0)
    fichero.close()


    order.url_pdf = '%s.pdf' % order.identificador
    order.contador_libro = numero
    order.codigo_libro = country_code
    order.save()

    return HttpResponseRedirect(reverse('order_single', kwargs={'pedido': order.pk}))

我的HTML:

^{pr2}$

有人知道为什么要用海尔维蒂卡吗?或者有什么方法可以植入Helvetica?我试着用“@font face”,但没用。在


Tags: urldatagetobjectspdfhtml字体order
1条回答
网友
1楼 · 发布于 2024-09-30 01:32:18

Helvetica是每个PDF渲染器都必须具有的标准字体之一。因此,它不必嵌入。在

一个可能的解决方案是使用另一种sans-serif字体代替Helvetica。在windows上,例如Arial。在OSX上,例如Helvetica Neue或Avenir。它们看起来很像Helvetica,但不是标准的PDF字体。在

在样式表中,为所有元素指定一个新字体

* {
    font-family: Avenir;
}

相关问题 更多 >

    热门问题