コード例 #1
0
def test_document_render(simple_document_path):
    """Test search capabilities."""
    pdf = PDF(simple_document_path, 2)
    pdf.load()
    pdf.render_page(pdf.get_width(), pdf.get_height())
    assert pdf
    assert round(pdf.get_scale(), 2) == 1
    assert pdf.get_width() == 595
    assert pdf.get_height() == 841
    n_bytes = len(pdf.jpeg.read())
    # cannot check extact value as it depends on the poppler version
    assert n_bytes > 100
    pdf.rotate(90)
    assert pdf.pil_image.size[0] == 841
    assert pdf.pil_image.size[1] == 595
コード例 #2
0
def generate_thumbnail(filename, outfilename=None):
    """Generate a thumnail for a given pdf filename."""
    # img = Image(filename=filename+'[0]', resolution=20)
    # try:
    #     img.alpha_channel = 'off'
    #     img.transform(resize='150x150>')

    from invenio_multivio.pdf.api import PDF
    try:
        pdf = PDF(path=filename, page_nr=0)
        pdf.load()
        img = pdf.render_page(max_width=80, max_height=80)

    except Exception:
        error('image generation failed')
        return None
    if outfilename:
        return img.save(filename=outfilename)
    return img