精华内容
下载资源
问答
  • Java中将Html转换为PDF

    千次阅读 2021-10-08 11:54:08
    Html分两种情况转换为Pdf: 第一种:html的文件 第二钟:html格式的字符串 我们先来讲一下第一种情况: 1.市面上有很多的htmlpdf的方法,但是不是受限于中文的限制就是受限于css样式的丢失或者是对html的要求太...

    Html分两种情况转换为Pdf:

    第一种:html的文件
    第二钟:html格式的字符串
    我们先来讲一下第一种情况:
    1.市面上有很多的html转pdf的方法,但是不是受限于中文的限制就是受限于css样式的丢失或者是对html的要求太严格。
    所以我在做这个教程的时候找到了一个非常厉害的一个组件首先看一下他的官网:
    e-iceblue
    他有商业版本和免费的版本,商业版本没购买之前是有水印的,但是可以转换10页,免费版本是没有水印的,但是只支持转换前三页。结合教程使用,我们使用他的免费版本,首先第一步导入他的jar包:

    		<dependency>
                <groupId> e-iceblue </groupId>
                <artifactId>spire.doc.free</artifactId>
                <version>3.9.0</version>
            </dependency>
    

    但是中央仓库是没有这个jar包的,所以我们还需要加一个他的jar包仓库地址:

        <repositories>
            <repository>
                <id>com.e-iceblue</id>
                <url>http://repo.e-iceblue.cn/repository/maven-public/</url>
            </repository>
        </repositories>
    

    2.第二步我们使用一下方式读取html文件的内容:

    public class HtmlToPDFUtil {
     public static void main(String[] args) throws IOException{
            String inputHtml = "C:\\InputHtml.txt";
            //新建Document对象
            Document doc = new Document();
            //添加section
            Section sec = doc.addSection();
    
            String htmlText = readTextFromFile(inputHtml);
            //添加段落并写入HTML文本
            sec.addParagraph().appendHTML(htmlText);
    
            //将文档另存为PDF
            doc.saveToFile("C:\\HTMLstringToPDF.pdf", FileFormat.PDF);
            doc.dispose();
        }
     public static String readTextFromFile(String fileName) throws IOException {
            StringBuffer sb = new StringBuffer();
            BufferedReader br = new BufferedReader(new FileReader(fileName));
            String content;
            while ((content = br.readLine()) != null) {
                sb.append(content);
            }
            return sb.toString();
        }
    }
    

    这个时候就会在c盘目录下生成InputHtml.txt对应的HTMLstringToPDF.pdf文件
    第二种方法,html为文本格式的情况:
    1.导入上的jar包之后之间将html的文本内容赋值给htmlTest

     public static void main(String[] args) throws IOException{
           
            //新建Document对象
            Document doc = new Document();
            //添加section
            Section sec = doc.addSection();
    
            String htmlText = " <tr>\n" +
                    "        <td colspan=\"8\">\n" +
                    "          <div class=\"yiban\">\n" +
                    "            <span class=\"jiachu\">联系电话:<span>18888888888</span></span>\n" +
                    "          </div>\n" +
                    "          <div class=\"yiban\">\n" +
                    "            <span class=\"jiachu\">送货单号:</span><span>1567894</span>\n" +
                    "          </div>\n" +
                    "        </td>\n" +
                    "      </tr>";
            //添加段落并写入HTML文本
            sec.addParagraph().appendHTML(htmlText);
    
            //将文档另存为PDF
            doc.saveToFile("C:\\HTMLstringToPDF.pdf", FileFormat.PDF);
            doc.dispose();
        }
    

    这个情况也是一样的

    拓展:将生成的pdf文件返回给前端以供下载

    需要一下的代码段,直接贴出来供大家参考:

     public static void downloadPdf(String fileName, String path) {
            ServletRequestAttributes requestAttributes = (ServletRequestAttributes) RequestContextHolder.getRequestAttributes();
            HttpServletResponse response = requestAttributes.getResponse();
            response.setContentType("application/force-download");
            try {
                response.addHeader("Content-Disposition", "attachment;filename=" + new String(fileName.getBytes("utf-8"), "ISO8859-1"));
            } catch (Exception e) {
                e.printStackTrace();
            }
    
            File file = new File(path);
            InputStream is = null;
            ServletOutputStream os = null;
            try {
                is = new FileInputStream(file);
                os = response.getOutputStream();
                int b;
                while ((b = is.read()) != -1) {
                    os.write(b);
                }
            } catch (FileNotFoundException e) {
                ExceptionUtils.logError(e);
            } catch (IOException e) {
                ExceptionUtils.logError(e);
            } finally {
                try {
                    if (null != os) {
                        os.close();
                    }
                    if (null != is) {
                        is.close();
                    }
                } catch (IOException e) {
                    ExceptionUtils.logError(e);
                }
            }
        }
    

    使用该方法:

    HtmlToPDFUtil.downloadPdf(fileName,tmplPath+fileName);
    

    这样就会将pdf文件作为response返回给前端,前端做对应的操作就能将文件下载下来。

    展开全文
  • Java将HTML转化为PDF+获得页数+合并PDF

    千次阅读 2017-09-11 11:15:00
    最近公司用到了HTMLPDF的技术,这里就把用到的方式和技术在这...

    最近公司用到了HTML转PDF的技术,这里就把用到的方式和技术在这里写一下,方便他人和自己以后有需要时进行。

    首先将HTML转化成PDF: 现在有许多将HTML转化为PDF的方法:PD4ML,IText,Flying Sauser。

    选择PD4ML原因:PD4ML实现html2pdf,速度快,纠错能力强,支持多种中文字体。相比较于IText和Flying Sauser方便许多

    依赖包:pd4ml.jar fonts.jar pd4ml.jar ss_css2.jar
    如果这里出现中文乱码的情况,请大家在src根目录下创建一个包fonts,在里面新建一个配置文件pd4fonts.properties 在配置文件中写

    KaiTi_GB2312=SIMKAI.TTF
    
    public class LLL_HTMLToPDF {
    	public static void main(String[] args) throws Exception {
    		File pdfFile = new File("D:/pdf/index.pdf");
    		htmltopdf(pdfFile, "D:/pdf/index.html");
    	}
    	private static void htmltopdf(File outputPDFFile, String inputHTMLFileName) throws Exception {
    		FileOutputStream fos = new FileOutputStream(outputPDFFile);
    		PD4ML pd4ml = new PD4ML();
    		pd4ml.setPageInsets(new Insets(40,30,30,40));
    		pd4ml.setHtmlWidth(960);
    		PD4PageMark p = new PD4PageMark();
    
    		pd4ml.setPageHeader(p);
    		pd4ml.setPageSize(PD4Constants.A4);
    		pd4ml.useTTF("java:fonts", true);
    		pd4ml.setDefaultTTFs("KaiTi_GB2312", "KaiTi_GB2312", "KaiTi_GB2312");
    		pd4ml.enableDebugInfo();
    		pd4ml.render("file:" + inputHTMLFileName,fos);
    	}
    }
    

    到这里我们就可以看到在目录下有当前生成的pdf文件了。

    下面讲一下pdf页数的获取 除开一些基础包之外,我们需要用到的包是:pdfbox-app-1.7.1.jar(注意用1.7.1才与我这个一样)

    public class LLL_getPDFpage {
    	public static void main(String[] args) {
    		PDFParser parser;
    		File file = new File("D:/pdf/printer/mergedTest.pdf");
    		COSDocument cosDoc = null;
    		PDDocument pdDoc = null;
    		try {
    			parser = new PDFParser(new FileInputStream(file));
    			parser.parse();
    			cosDoc = parser.getDocument();
    			pdDoc = new PDDocument(cosDoc);
    			System.out.println(pdDoc.getDocumentCatalog().getAllPages().size());
    		} catch (Exception e) {
    			e.printStackTrace();
    			try {
    				if (cosDoc != null)
    					cosDoc.close();
    				if (pdDoc != null)
    					pdDoc.close();
    			} catch (Exception e1) {
    				e.printStackTrace();
    			}
    		}
    	}
    }
    
    

    这里就可以打印出来当前pdf有多少页

    然后下面说一下将pdf合并的问题 我们现在项目中需要将多个pdf合并成一个pdf文件,这里还是用的pdfbox包就可以

    public class LLL_MergePDF {
    	public static void main(String[] args) throws Exception {
    		PDFMergerUtility mergePdf = new PDFMergerUtility();
    		String folder = "D:/pdf/";
    		String destinationFileName = "mergedTest.pdf";
    		String[] filesInFolder = getFiles(folder);
    		for (int i = 0; i < filesInFolder.length; i++)
    		{
    			mergePdf.addSource(folder + File.separator + filesInFolder[i]);
    		}
    		mergePdf.setDestinationFileName(folder + File.separator + destinationFileName);
    		mergePdf.mergeDocuments();
    		System.out.print("合并完成__LLL丶禾羊__博客");
    	}
    	private static String[] getFiles(String folder) throws IOException {
    		File _folder = new File(folder);
    		String[] filesInFolder;
    		if (_folder.isDirectory()) {
    			filesInFolder = _folder.list();
    			return filesInFolder;
    		} else {
    			throw new IOException("Path is not a directory");
    		}
    	}
    }
    

    这里就是java关于pdf的一些操作,讲了java将html转化成pdf,获取pdf的页码,合并多个pdf到一个里面去,如果对你起到了帮助,请把它分享给更多人,谢谢!

    展开全文
  • 我一直在互联网上搜索如何使用Java将HTML页面转换为PDF文件。我发现了很多指针,简而言之,它们不起作用或难以实现。我也下载了一个商业产品,pdf4ml;该API是我很乐意与之合作的,除了当我在维基百科上检索一个简单...

    我一直在互联网上搜索如何使用Java将HTML页面转换为PDF文件。我发现了很多指针,简而言之,它们不起作用或难以实现。我也下载了一个商业产品,pdf4ml;该API是我很乐意与之合作的,除了当我在维基百科上检索一个简单的页面时,出现了内存不足错误(将Xmx设置为1024 M)。在某些方法中,他们建议转换HTML - > XHTML - > FO - > PDF。但是,我收到了很多XHTML-to-FO XLS文件的例外情况;并阅读文件,这不是我有足够的时间来理解的东西。如何使用Java将HTML网页转换为PDF文件

    这里是我的问题/疑虑。 1.是否有另一个粘合API,可以轻松将HTML转换为PDF(商业与否)? 2.是否有一种方法可以简单地捕获HTML页面并将其作为单个文件存储。这种方法与使用Internet Explorer将网页保存为网络存档(单个文件,MHT格式)的方式类似?

    任何帮助表示赞赏。 (顺便说一句,我知道这个问题已被反复询问,但除了原来的问题精神,我打开其他方式)。谢谢。

    2011-03-22

    jake

    +0

    除了自动化,您可以使用BullZip PDF Printer将HTML页面打印为PDF。 –

    2011-03-22 04:55:34

    +0

    这是大约第100次“html-> pdf in java”问题已被问到。 Stack Overflow存在的部分原因是您可以查看以前提出的问题的答案。这样做。 –

    2011-03-22 18:07:14

    展开全文
  • JAVA实现PDFHTML

    2020-10-29 16:53:08
    该包包含后端代码,转换控件,测试文件,正式项目应用表现正常,注意不能转换水印、印章这类特殊类型,且行且珍惜。
  • 1、将html转换为pdf 2、在pdf指定位置上添加印章图片 实现效果 相关依赖包: <!--htmlpdf--> <dependency> <groupId>com.itextpdf</groupId> <artifactId>itextpdf</...

    功能实现

    1、将html转换为pdf

    2、在pdf指定位置上添加印章图片

    实现效果

    相关依赖包:

    <!--html转pdf-->
    <dependency>
    	<groupId>com.itextpdf</groupId>
    	<artifactId>itextpdf</artifactId>
    	<version>5.5.13.1</version>
    </dependency>
    
    <!--pdf工具依赖包-->
    <dependency>
    	<groupId>com.itextpdf.tool</groupId>
    	<artifactId>xmlworker</artifactId>
    	<version>5.5.13.1</version>
    </dependency>
    
    <!--处理pdf中文显示异常-->
    <dependency>
    	<groupId>com.itextpdf</groupId>
    	<artifactId>itext-asian</artifactId>
    	<version>5.2.0</version>
    </dependency>

    源码demo示例

    https://download.csdn.net/download/qq_32970507/14919381

     

    展开全文
  • 如何在Java中将HTML转换为PDFPDF是世界上最常用的文档格式有很多原因。一方面,它的兼容性水平无与伦比-可以在PC,Mac,Linux,Web浏览器和移动平台上以完美的保真度查看PDF,没有任何问题。除此之外,它的打印质量...
  • java后端实现htmlpdf的工具类,pd4ml最新3100pro支持中文版本的jar包,无水印的,包括pd4ml.jar、fonts.jar和sc_css2.jar
  • Java实现HTML转换为PDF的常见方法

    千次阅读 2019-07-21 06:52:16
    最近在自己的项目中需要动态生成融资单合同,这里需要把对应的html转换为对应的pdf融资合同。因此需要通过Java实现将HTMLPDF。自己之前没有接触过这一块的东西,所以上网查了一下,网上有很多的工具可以处理这个...
  • 借助iText这个Java库,我们可以将HTML文件保存图片文件进而转换PDF格式,接下来就来具体看下JavaScript+Java实现HTML页面转为PDF文件保存的方法
  • JAVA中将html转换pdf

    2021-02-28 06:43:49
    importjava.io.File;public classHtmlToPdf {//wkhtmltopdf在系统中的路径private static final String toPdfTool = "D:\\soft\\.../*** htmlpdf**@paramsrcPath html路径,可以是硬盘上的路径,也可以是网...
  • 通过itext 把html转成pdf文档,只需要把html传给itext,就会直接转成pdf,亲自试用了一下很方便,前提html的格式一定要严格,
  • Java实现HTML文件转PDF文件

    热门讨论 2013-11-22 08:45:16
    实现思路: 1、通过URL获取当前HMTL页面的内容: URL urls = new URL(url);...4、把设置发了的HTML文件转化PDF文件 //把HTML文件转化PDF文件 htmlToPdf2(urlsource, fileName); 下载下来可以直接使用
  • javahtmlpdf的方法

    2021-03-27 19:36:01
    html转为pdf有两种方法: xhtmlrenderer itext 1.使用xhtmlrenderer 依赖 <dependency> <groupId>org.xhtmlrenderer</groupId> <artifactId>flying-saucer-pdf</artifactId> <...
  • 使用JAVA怎么将PDF转换为HTML文档发布时间:2021-05-25 18:26:18来源:亿速云阅读:85作者:Leah使用JAVA怎么将PDF转换为HTML文档?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这...
  • java中将表单转换为PDF

    2021-03-09 05:51:13
    importjava.io.ByteArrayInputStream;importjava.io.FileInputStream;importjava.io.FileOutputStream;importcom.itextpdf.text.Document;importcom.itextpdf.text.PageSize;importcom.itextpdf.text.pdf.PdfWriter;...
  • java pdf转换为html代码

    2021-06-08 15:13:44
    java pdf转换为html代码[2021-02-08 23:39:03]简介:php将html转为图片的方法:首先借助类库mPDF将html转换pdf,代码【$pdf_name= md5(time()).'.pdf'】;然后将pdf转换为png,代码【$imgs->setImageFormat...
  • java将html的图文转化为PDF文件输出

    千次阅读 2018-02-28 16:18:30
    首先在我的项目的resource目录下建立相应的目录,如图其中file用来存放一个logo以及生成的PDF文件,font文件夹用来存放font 字体然后在项目的 pom.xml中添加引用&lt;dependency&gt; &lt;groupId&gt...
  • iText – 使用Java将HTML转换为PDF

    千次阅读 2013-12-12 09:15:29
    iText还可以包含CSS样式的HTML转换为PDF格式的文档。   目标: 实现如何利用iText Java将HTML文件转换PDF文档? Environment & Tools Eclipse (or any other IDE)Maven (opti
  • java htmlpdf工具类

    2016-12-15 10:43:55
    htmlpdf工具类,可以直接将html转换pdf
  • 搜索了好多篇例子,算是强拼硬凑成现在的样子,还算比较满意吧。 此包中包含可测试成功代码,关联模板、字体文件、jar等 希望能帮助到大家。 这篇文章的作者蛮厉害,有不少借鉴。 ...
  • 一、概述 我们在实际开发中会遇到各种不同的需求,接到一个需求把页面报告生成 PDF 格式。刚开始我的初步想法是用IText shen
  • java pdf转换html代码

    2021-06-09 03:35:45
    java pdf转换html代码[2021-02-03 00:56:42]简介:php去除nbsp的方法:首先创建一个PHP代码示例文件;然后通过“preg_replace("/(\s|\&nbsp\;| |\xc2\xa0)/", " ", strip_tags($val));”方法去除所有nbsp即可。...
  • Java Word 文档转换为 PDF

    千次阅读 2020-04-08 13:49:00
    点击上方Java后端,选择设星标优质文章,及时送达在日常工作中,PDF格式良好的视觉阅读性和稳定性使其使用越来越广泛。因此我们常会遇到需要成型的Word文档转换为PDF格式的情...
  • Java HTML转成PDF

    万次阅读 热门讨论 2019-01-29 18:11:23
    注意:先说明一下我的思路:先将HTML转成string类型(因为HTML里面部分数据是动态,因此,我需要替换,因此转成string类型,最笨的办法),然后string格式的HTML转成PDF; 有几个坑需要注意一下: (1):字体...
  • java将Word转换PDF

    万次阅读 热门讨论 2018-12-24 15:07:23
    网上有很多Word转换PDF的方式,这里找了两种比较简单的工具:jacob和aspose。 1.jacob 使用Jacob需要一些环境的准备,首先需要Jacob的jar包: 然后还需要jacob版本对应的ddl文件放到jdk或jre的bin目录里...
  • packagecom.sd.ddo.controller.pdf;importjava.io.File;importjava.io.FileOutputStream;importjava.io.IOException;importjava.io.InputStream;importjava.net.URLDecoder;importjava.util.Iterator;importjava.uti...
  • itext7 html转换为pdf

    2018-09-03 14:10:35
    使用itext7将html转换为pdf,支持中文,可以生产页眉,页脚,这个是windows系统的,里面还需要自己在pom.xml中导入相关的包,不会的可以找我
  • htmlPDFjava版 )

    千次下载 热门讨论 2015-06-15 20:19:35
    html的规范要求极高,例如:页面中<mate></mate>必须闭合,必须: * * * <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" * ...
  • 如何在Java中将HTML转换为PDFPDF是世界上最常用的文档格式有很多原因。一方面,它的兼容性水平无与伦比-可以在PC,Mac,Linux,Web浏览器和移动平台上以完美的保真度查看PDF,没有任何问题。除此之外,它的打印质量...
  • html页面两侧是有滚动条的,要把html这个网页上展示的效果存为pdf格式的文档,

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 36,301
精华内容 14,520
关键字:

java将html转化为pdf

java 订阅