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。
使用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)