java-pdf转word2.0
来源:互联网 发布:北交大淘宝地址怎么填 编辑:程序博客网 时间:2024/05/29 03:42
由于之前写的一篇博客http://blog.csdn.net/sinat_15153911/article/details/53926879,
很多人反应pdf转doc 图片丢失,表格丢失,样式丢失,编码问题等等。
没错这段代码就是只能把文字转为doc文件的
因为:stripper.writeText(doc,writer);
doc指doc文件
writer指 FileOutputStream fos=new FileOutputStream(“pdf文件地址”);
Writer writer=new OutputStreamWriter(fos,”UTF-8”);
所以我们想出了用js生成图片,或者pdf先转成图片
js全屏截图:
function takeScreenshot() { html2canvas(document.body, { onrendered: function(canvas) { document.body.appendChild(canvas); }, });}
js生成pdf:
html2canvas(document.body, { onrendered: function(canvas) { var url = canvas.toDataURL(); //document.body.appendChild(canvas); var doc = new jsPDF(); doc.setFontSize(40); //doc.text(35, 25, "yanhui"); var imgAsDataURL = url; doc.addImage(imgAsDataURL, 'JPEG', 15, 40, 420, 180); doc.save('艳辉网.pdf'); }, width: 600, height: 600});
js预览pdf
window.onload = function () { var success = new PDFObject({ url: "pdf/test.pdf", pdfOpenParams: { scrollbars: '0', toolbar: '0', statusbar: '0' } }).embed("pdf"); };
js那么强大,我们的java也不甘示弱
java实现pdf转图片 图片转pdf
//将pdf装图片 并且自定义图片得格式大小 File file = new File(pdfPath); try { PDDocument doc = PDDocument.load(file); PDFRenderer renderer = new PDFRenderer(doc); int pageCount = doc.getNumberOfPages(); for (int i = 0; i < pageCount; i++) { BufferedImage image = renderer.renderImageWithDPI(i, 240); BufferedImage srcImage = resize(image, image.getWidth(), image.getHeight()); ImageIO.write(srcImage, "PNG", new File(pngPath.replace(".",i+"."))); } } catch (IOException e) { e.printStackTrace(); }
BufferedImage image = ImageIO.read(new FileInputStream(pngPath)); List<BufferedImage> images=new ArrayList<BufferedImage>(); BufferedImage srcImage = resize(image, image.getWidth(), image.getHeight()); images.add(srcImage); //合成图片转pdf createPDFFromImage(pdfPath,images);
java生成pdf,支持中文编码
Document document = createDoc(filename); // 打开文档 document.open(); // 文档里写入 Paragraph centerPar = convertParToChinese("艳辉网", 20, bold, red); centerPar.setAlignment(Element.ALIGN_CENTER); document.add(centerPar);// document.add(new Paragraph("\n"));// document.add(convertParToChinese("黑色", 18, boldItalic, black)); document.add(new Paragraph("\n")); document.add(convertParToChinese("你最爱上的艳辉博客,加QQ群494808400,即可获取更多java资料。", 12, normal, black)); document.add(new Paragraph("\n")); // 文档写入图片 if (checkFile(imgPath)) { Image image = writeImg(imgPath); document.add(image); document.add(new Paragraph("\n")); }// document.add(new Paragraph("\n"));// // 生成三列表格 // PdfPTable table = new PdfPTable(3); // // 设置表格具体宽度 // table.setTotalWidth(90); // // 设置每一列所占的长度 // table.setWidths(new float[] { 50f, 15f, 25f }); // PdfPCell cell1 = new PdfPCell(); // Paragraph para = new Paragraph("aaaaa"); // cell1.setPhrase(para); // table.addCell(cell1); // table.addCell(new PdfPCell(new Phrase("IText"))); // table.addCell(new PdfPCell(new Phrase("IText"))); // document.add(table); // document.add(new Paragraph("\n")); // document.add(new Paragraph("\n")); // PDF同行显示 // Paragraph par = new Paragraph(); // Chunk chunk1 = new Chunk( convertChunkByChinese("考试分数:", 20, bold, black)); // Chunk chunk2 = new Chunk(convertChunkByChinese("93", 20, bold, red));// par.add(chunk1);// par.add(chunk2); // // 设置整体缩进// par.setFirstLineIndent(setting); // // 居中 // Paragraph centerPar = convertParToChinese("剧中测试", 16, italic, black); // centerPar.setAlignment(Element.ALIGN_CENTER); // document.add(par); // 新建章节 // 章节标题 // Paragraph chapterTitle = new Paragraph(convertParToChinese("章节标题", 18, boldItalic, blue));// Chapter chapter1 = new Chapter(chapterTitle, 1);// chapter1.setNumberDepth(0);// Paragraph p = new Paragraph("test!!!!!");// chapter1.add(p);// document.add(chapter1); //关闭文档 document.close();
还有pdf2word2.0
PDDocument doc=PDDocument.load(new File(name1)); int pagenumber=doc.getNumberOfPages(); name1 = name1.substring(0, name1.lastIndexOf("."));// String dirName = "D:\\pdf\\";// 创建目录D:\\pdf\\a.doc String dirName = name1;// 创建目录D:\\pdf\\a.doc //createDir(dirName);// 调用方法创建目录 String fileName = dirName + ".doc";// 创建文件 createFile(fileName); FileOutputStream fos=new FileOutputStream(fileName); Writer writer=new OutputStreamWriter(fos,"UTF-8"); PDFTextStripper stripper=new PDFTextStripper();// doc.addSignature(arg0, arg1, arg2); stripper.setSortByPosition(true);//排序 //stripper.setWordSeparator("");//pdfbox对中文默认是用空格分隔每一个字,通过这个语句消除空格(视频是这么说的) stripper.setStartPage(1);//设置转换的开始页 stripper.setEndPage(pagenumber);//设置转换的结束页 stripper.writeText(doc,writer); writer.close(); doc.close(); System.out.println("pdf转换word成功!");
获取源码方式:
方式一:加QQ490647751开通vip获取源码,
方式二:加QQ490647751互相交流技术获取源码学习。
备注加Q来源:CSDN博客+文章题目
阅读全文
0 0
- java-pdf转word2.0
- word2
- word2
- java-pdf转word3.0
- Java Html 转Pdf
- Java Word转Pdf
- Java Html 转Pdf
- java pdf 转 swf
- Java html转PDF
- java html转pdf
- Java HTML 转 PDF
- office转pdf java
- Java Word 转 Pdf
- java玩转pdf
- java excle转pdf
- java word转pdf
- Java html转PDF
- java 转pdf 源码
- XListView
- tabbar文字字体颜色修改问题
- 洛谷 2346 四子连棋 bfs
- spring学习笔记二十 隔离级别、回滚、只读、过期
- JVM的内存
- java-pdf转word2.0
- jQuery与JavaScript 原生DOM API()用哪个好?
- Leetcode代码学习周记——Add Two Nmubers
- 51Nod-1174 区间中最大的数(RMQ)
- spring 整合 redis,以及spring的RedisTemplate如何使用
- Java集合框架要点概括(Core Knowledge of Java Collection)
- Node.js学习笔记
- HttpClient查找快递
- WebService调用网络查询天气