显示截图为pdf下载链接

edb*_*ras 0 javascript java pdf wordpress

我不想显示一段文本作为pdf下载链接,而是要显示pdf的迷你屏幕截图作为下载链接。

我应该如何做(从哪里开始)?我的linkedin个人资料的屏幕截图示例:

http://s.wordpress.com/mshots/v1/http%3A%2F%2Fwww.linkedin.com%2Fin%2Fedbras?w=115
Run Code Online (Sandbox Code Playgroud)

然后可以将其作为前端链接的背景/图像包括在内。怎么做?这是从网页上获取的,但其想法是对后端中生成的pdf进行相同的操作。我正在通过Javascript进行后端调用,并且我有一个Java后端,我没有使用wordpress。

Qus*_*jar 5

使用Apache PDFBox,并在PDF文件上传后,使用此方法从路径加载上载的文档,获取首页,将其转换为图像,然后将其保存到您选择的路径中。将此路径保存在数据库记录中。

import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;
import java.util.List;

import javax.imageio.ImageIO;

import org.apache.pdfbox.pdmodel.PDDocument;
import org.apache.pdfbox.pdmodel.PDPage;

public class PDFUtil {

    public static void saveFirstPageThumbnail() throws IOException {
        PDDocument document = PDDocument.load("C:\\testbook.pdf");
        List<PDPage> pages = document.getDocumentCatalog().getAllPages();
        PDPage page = pages.get(0); //first one
        BufferedImage bufferedImage = page.convertToImage();
        File outputFile = new File( "C:\\image.jpg");
        ImageIO.write(bufferedImage, "jpg", outputFile);
    }

}
Run Code Online (Sandbox Code Playgroud)

稍后,当您需要打印链接时,只需在回调中返回创建的图像的路径,并以普通的html形式形成链接:

<a href="path/to/document.pdf"><img src="path/to/image.jpg" /></a>
Run Code Online (Sandbox Code Playgroud)

这是库依赖关系,如果您使用的是maven

<dependency>
    <groupId>org.apache.pdfbox</groupId>
    <artifactId>pdfbox</artifactId>
    <version>1.8.2</version>
</dependency>
Run Code Online (Sandbox Code Playgroud)