将截图显示为pdf下载链接

时间:2013-11-09 14:04:14

标签: java javascript wordpress pdf

我没有将一段文字显示为pdf下载链接,而是想显示pdf的迷你屏幕截图作为下载链接。

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

http://s.wordpress.com/mshots/v1/http%3A%2F%2Fwww.linkedin.com%2Fin%2Fedbras?w=115

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

3 个答案:

答案 0 :(得分: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);
    }

}

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

<a href="path/to/document.pdf"><img src="path/to/image.jpg" /></a>

如果您正在使用maven

,这里是库依赖项
<dependency>
    <groupId>org.apache.pdfbox</groupId>
    <artifactId>pdfbox</artifactId>
    <version>1.8.2</version>
</dependency>

答案 1 :(得分:0)

如果我理解正确的问题,如果您有PDF和截图图片,那么您只需编写

<a href="yourPDFlink.pdf"><img src="http://s.wordpress.com/mshots/v1/http%3A%2F%2Fwww.linkedin.com%2Fin%2Fedbras?w=115" alt="Name of your PDF"/></a>

答案 2 :(得分:0)

在ABCPdf .NET下你只需写:

Doc doc = new Doc();
doc.Read(@"c:\mydoc.pdf");
doc.Rendering.Save(@"c:\mydoc.jpg");

非常简单呃?

请注意,内部PDF渲染非常复杂,许多解决方案都跳过了透明组和混合等重要功能。

因此,在选择渲染解决方案时,请考虑文档的来源。

如果他们来自统一来源,您可能不需要过多担心出错的事情。如果它适用于一个,它将为所有人工作。

但是,如果您的文档来自真实世界,您需要确保您的渲染解决方案功能齐全,以便它能够处理所有文档而不仅仅是普通文档。

我的回复可能包含基于ABCpdf .NET的概念。这就是我的工作 - 这就是我所知道的。 : - )