-
大小: 93.78MB文件類型: .rar金幣: 1下載: 0 次發布日期: 2022-08-16
- 語言: Java
- 標簽: java??pdf??itext??freemarket??
資源簡介
是java普通項目,直接導入MyEclipse即可運行即可使用(已包含jar包,沒有數據庫),代碼注釋很清楚,網上很多都是maven項目,且bug很多,現已進行修復。main方法執行即可生成。
代碼片段和文件信息
package?main.com.example.pdf.util;
import?java.io.IOException;
import?org.bouncycastle.util.encoders.base64;??
import?org.w3c.dom.Element;??
import?org.xhtmlrenderer.extend.FSImage;??
import?org.xhtmlrenderer.extend.ReplacedElement;??
import?org.xhtmlrenderer.extend.ReplacedElementFactory;??
import?org.xhtmlrenderer.extend.UserAgentCallback;??
import?org.xhtmlrenderer.layout.LayoutContext;??
import?org.xhtmlrenderer.pdf.ITextFSImage;??
import?org.xhtmlrenderer.pdf.ITextImageElement;??
import?org.xhtmlrenderer.render.BlockBox;??
import?org.xhtmlrenderer.simple.extend.FormSubmissionListener;??
??
import?com.lowagie.text.BadElementException;??
import?com.lowagie.text.Image;?
public?class?B64ImgReplacedElementFactory?implements?ReplacedElementFactory?{??
????
????/*?
?????*??
?????*?title:?createReplacedElement
??
?????*?Description:?
??
?????*?sql:?
??
?????*?
?????*?@author??2016年11月1日?下午7:05:55?
?????*??
?????*?@param?c?上下文?
?????*?@param?box?盒子?
?????*?@param?uac?回調?
?????*?@param?cssWidth?css寬??
?????*?@param?cssHeight?css高?
?????*?@return??
?????*?@see?org.xhtmlrenderer.extend.ReplacedElementFactory#createReplacedElement(org.xhtmlrenderer.layout.LayoutContext?org.xhtmlrenderer.render.BlockBox?org.xhtmlrenderer.extend.UserAgentCallback?int?int)?
?????*/??
????@Override??
????public?ReplacedElement?createReplacedElement(LayoutContext?c?BlockBox?box?UserAgentCallback?uac?int?cssWidth??
????????????int?cssHeight)?{??
????????Element?e?=?box.getElement();??
????????if?(e?==?null)?{??
????????????return?null;??
????????}??
????????String?nodeName?=?e.getNodeName();??
????????//?找到img標簽??
????????if?(nodeName.equals(“img“))?{??
????????????String?attribute?=?e.getAttribute(“src“);??
????????????FSImage?fsImage;??
????????????try?{?//?生成itext圖像??
????????????????fsImage?=?buildImage(attribute?uac);??
????????????}?catch?(BadElementException?e1)?{??
????????????????fsImage?=?null;??
????????????}?catch?(IOException?e1)?{??
????????????????fsImage?=?null;??
????????????}??
????????????if?(fsImage?!=?null)?{?//?對圖像進行縮放??
????????????????if?(cssWidth?!=?-1?||?cssHeight?!=?-1)?{??
????????????????????fsImage.scale(cssWidth?cssHeight);??
????????????????}??
????????????????return?new?ITextImageElement(fsImage);??
????????????}??
????????}??
????????return?null;??
????}??
??????
????/**?
?????*??
?????*?TODO(將base64編碼解碼并生成itext圖像)??
?????*?@author?2016年11月1日?下午7:08:57???
?????*?@param?srcAttr?屬性?
?????*?@param?uac?回調??
?????*?@return?
?????*?@throws?IOException?
?????*?@throws?BadElementException?
?????*/??
????protected?FSImage?buildImage(String?srcAttr?UserAgentCallback?uac)?throws?IOException?BadElementException?{??
????????FSImage?fsImage;??
????????if?(srcAttr.startsWith(“data:image/“))?{??
????????????String?b64encoded?=?srcAttr.substring(srcAttr.indexOf(“base64“)?+?“base64“.length()?srcAttr.length());?//?解碼??
????????????byte[]?decodedByt
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件????????604??2018-05-08?17:00??pdf\.classpath
?????文件????????282??2018-05-07?16:52??pdf\.myme
?????文件???????1746??2018-05-08?16:21??pdf\.project
?????文件????????500??2018-05-07?16:52??pdf\.settings\.jsdtscope
?????文件????????234??2018-05-08?17:05??pdf\.settings\org.eclipse.core.resources.prefs
?????文件????????364??2018-05-07?16:52??pdf\.settings\org.eclipse.jdt.core.prefs
?????文件????????447??2018-05-07?16:52??pdf\.settings\org.eclipse.wst.common.component
?????文件????????252??2018-05-07?16:52??pdf\.settings\org.eclipse.wst.common.project.facet.core.xm
?????文件?????????49??2018-05-07?16:52??pdf\.settings\org.eclipse.wst.jsdt.ui.superType.container
?????文件??????????6??2018-05-07?16:52??pdf\.settings\org.eclipse.wst.jsdt.ui.superType.name
?????文件???????1578??2018-05-07?16:51??pdf\demo-pdf\.project
?????文件???????1578??2018-05-07?16:51??pdf\demo-pdf\bin\.project
?????文件???????3764??2018-05-08?16:27??pdf\src\main\com\example\pdf\util\B64ImgReplacedElementFactory.java
?????文件????????319??2018-05-08?16:20??pdf\src\main\java\com\example\pdf\Demo1Application.java
?????文件????????747??2018-05-08?15:55??pdf\src\main\java\com\example\pdf\domain\SchedulePlan.java
?????文件???????4526??2018-05-08?17:01??pdf\src\main\java\com\example\pdf\util\PdfHelper.java
?????文件???????5238??2018-05-09?10:33??pdf\src\main\java\com\example\pdf\util\PdfUtils.java
?????文件??????????0??2018-05-07?17:05??pdf\src\main\resources\application.properties
?????文件???22932592??2018-05-07?17:05??pdf\src\main\resources\templates\arialuni.ttf
?????文件???15067744??2018-05-07?17:05??pdf\src\main\resources\templates\msyh.ttf
?????文件???16247072??2018-05-07?17:05??pdf\src\main\resources\templates\msyhbd.ttc
?????文件???12003540??2018-05-07?17:05??pdf\src\main\resources\templates\msyhl.ttc
?????文件???10499104??2018-05-07?17:05??pdf\src\main\resources\templates\simsun.ttf
?????文件???????3754??2018-05-09?10:31??pdf\src\main\resources\templates\test.ftl
?????文件????????335??2018-05-08?16:27??pdf\src\test\java\com\example\pdf\Demo1ApplicationTests.java
?????文件????????834??2018-05-07?16:52??pdf\WebRoot\index.jsp
?????文件?????????36??2018-05-07?16:52??pdf\WebRoot\me
?????文件???????3487??2018-05-09?09:33??pdf\WebRoot\WEB-INF\classes\main\com\example\pdf\util\B64ImgReplacedElementFactory.class
?????文件???????1165??2018-05-09?09:33??pdf\WebRoot\WEB-INF\classes\main\java\com\example\pdf\domain\SchedulePlan.class
?????文件???????5207??2018-05-09?09:33??pdf\WebRoot\WEB-INF\classes\main\java\com\example\pdf\util\PdfHelper.class
............此處省略68個文件信息
評論
共有 條評論