当前位置: 首页 > news >正文

建站系统源码下载网站网站怎么做的

建站系统源码下载,网站网站怎么做的,购物网站界面 管理员需求分析,深圳建设工程交易服务网南山工作有需要 Word 文档转换 PDF、图片 的场景#xff0c;我们来看看 Java 开发中怎么解决这个问题的。 Word 转 PDF Word 转 PDF 分为商用 Aspose 方案和开源 Apache POIiText 方案。 Aspose 方案 这种方式在目前来看应该是最好的#xff0c;无论是转换的速度还是成功的概…工作有需要 Word 文档转换 PDF、图片 的场景我们来看看 Java 开发中怎么解决这个问题的。 Word 转 PDF Word 转 PDF 分为商用 Aspose 方案和开源 Apache POIiText 方案。 Aspose 方案 这种方式在目前来看应该是最好的无论是转换的速度还是成功的概率还支持的文件类型。 由于 Aspose 并非开源软件不会在 Maven 公开依赖故我们要手动加入到 Maven 管理中去。 !-- Word2PDF -- dependencygroupIdcom.aspose/groupIdartifactIdaspose-words/artifactIdversion15.8/versionscopesystem/scopesystemPath${project.basedir}/jar/aspose-words-15.8.0-jdk16.jar/systemPath /dependency添加依赖 因为是手动添加的包MANIFEST.MF 也要加入不然启动程序的时候不知道要加入这个 jar 包。增加一个manifestEntries节点 manifestEntries!--MANIFEST.MF 中 Class-Path 加入资源文件目录 --Class-Pathlib/aspose-words-15.8.0-jdk16.jar/Class-Path /manifestEntries新增于 pom.xml 的plugins位置如图 拷贝 jar 包除了 runtime 的还有刚新家的 system 包新增一个copy-dependencies2 executionidcopy-dependencies2/idphasepackage/phasegoalsgoalcopy-dependencies/goal/goalsconfigurationoutputDirectory${project.build.directory}/lib/outputDirectoryincludeScopesystem/includeScope/configuration/execution新增于 pom.xml 的plugins位置如图 转换程序 import com.aspose.words.Document; import com.aspose.words.ImageSaveOptions; import com.aspose.words.License; import com.aspose.words.SaveFormat;import java.io.ByteArrayInputStream; import java.io.FileOutputStream; import java.io.InputStream;/*** a hrefhttps://www.cnblogs.com/excellencesy/p/11603892.html.../a* a hrefhttps://blog.csdn.net/weixin_44605704/article/details/102572130.../a*/ public class AsposeUtil {/*** Word 转 PDF** param wordPath Word 路径* param pdfPath PDF 路径*/public static void word2pdf(String wordPath, String pdfPath) {AsposeUtil.getLicense();try (FileOutputStream os new FileOutputStream(pdfPath)) {long old System.currentTimeMillis();//设置一个字体目录必须设置否则生成的pdf乱码下面这行代码不加的话在windows系统下生成的pdf不存在乱码问题但是在linux系统下会乱码linux下乱码解决方案请看后面的解决方案//FontSettings.setFontsFolder(/usr/share/fonts/chinese, false);new Document(wordPath).save(os, SaveFormat.PDF);System.out.println(word2pdf共耗时 (System.currentTimeMillis() - old) / 1000.0 秒);} catch (Exception e) {e.printStackTrace();}}public static void word2img(String wordPath, String outputDir) {AsposeUtil.getLicense();try {long old System.currentTimeMillis();Document doc new Document(wordPath);// 创建图像保存选项对象ImageSaveOptions options new ImageSaveOptions(SaveFormat.JPEG);options.setPageCount(doc.getPageCount()); // 设置要转换的页数 // options.setResolution(300); // 设置图像分辨率默认为96dpi// 逐页转换并保存为图像for (int pageIndex 0; pageIndex doc.getPageCount(); pageIndex) {String outputFileName outputDir image_ (pageIndex 1) .png;options.setPageIndex(pageIndex);doc.save(outputFileName, options);}System.out.println(word2pdf共耗时 (System.currentTimeMillis() - old) / 1000.0 秒);} catch (Exception e) {e.printStackTrace();}}private static final byte[] LICENSE (License\n Data\n Products\n ProductAspose.Total for Java/Product\n ProductAspose.Words for Java/Product\n /Products\n EditionTypeEnterprise/EditionType\n SubscriptionExpiry20991231/SubscriptionExpiry\n LicenseExpiry20991231/LicenseExpiry\n SerialNumber8bfe198c-7f0c-4ef8-8ff0-acc3237bf0d7/SerialNumber\n /Data\n SignaturesNLLKGMUdF0r8O1kKilWAGdgfs2BvJb/2Xp8p5iuDVfZXmhppod0Ran1P9TKdjV4ABwAgKXxJ3jcQTqE/2IRfqwnPf8itN8aFZlV3TJPYeD3yWE7IT55Gz6EijUpC7aKeoohTb4w2fpox58wWoF3SNp6sK6jDfiAUGEHYJ9pjU/Signature\n /License).getBytes();/*** 判断是否有授权文件 如果没有则会认为是试用版转换的文件会有水印*/public static void getLicense() {try (InputStream is new ByteArrayInputStream(LICENSE)) {new License().setLicense(is);} catch (Exception e) {throw new RuntimeException(e);}}}Aspose Jar 包下载参考文章《Java中几种office文档转pdf的方式》参考文章《Java开发中Word转PDF文件5种方案横向评测》 Apache ——iText 方案 !-- POI Word2Pdf -- dependencygroupIdfr.opensagres.xdocreport/groupIdartifactIdorg.apache.poi.xwpf.converter.pdf/artifactIdversion1.0.6/version /dependency转换程序 import fr.opensagres.xdocreport.utils.StringUtils; import org.apache.poi.xwpf.converter.pdf.PdfConverter; import org.apache.poi.xwpf.converter.pdf.PdfOptions; import org.apache.poi.xwpf.usermodel.*;import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; import java.util.List; import java.util.Map;/*** author Rocca*/ public class WordPdfUtils {/*** 将word文档 转换成pdf, 中间替换掉变量** param source 源为word文档 必须为docx文档* param target 目标输出* param params 需要替换的变量*/public static void wordConverterToPdf(InputStream source, OutputStream target, MapString, String params) {wordConverterToPdf(source, target, null, params);}/*** 将word文档 转换成pdf, 中间替换掉变量** param source 源为word文档 必须为docx文档* param target 目标输出* param params 需要替换的变量* param options PdfOptions.create().fontEncoding( windows-1250 ) 或者其他*/public static void wordConverterToPdf(InputStream source, OutputStream target, PdfOptions options, MapString, String params) {long old System.currentTimeMillis();try {XWPFDocument doc new XWPFDocument(source);paragraphReplace(doc.getParagraphs(), params);for (XWPFTable table : doc.getTables()) {for (XWPFTableRow row : table.getRows()) {for (XWPFTableCell cell : row.getTableCells())paragraphReplace(cell.getParagraphs(), params);}}PdfConverter.getInstance().convert(doc, target, options);System.out.println(word2pdf共耗时 (System.currentTimeMillis() - old) / 1000.0 秒);} catch (IOException e) {throw new RuntimeException(e);}}/*** 替换段落中内容*/private static void paragraphReplace(ListXWPFParagraph paragraphs, MapString, String params) {for (XWPFParagraph p : paragraphs) {for (XWPFRun r : p.getRuns()) {String content r.getText(r.getTextPosition());if (StringUtils.isNotEmpty(content) params.containsKey(content)) r.setText(params.get(content), 0);}}}}PDF 转图片 上述的 Aspose.Word 并不支持 PDF 转图片。要使用 Aspose PDF 转图片须使用他家的另外一个产品 Aspose.Pdf。另外有趣的是Aspose.Word 可以直接转为图片但由于当前需求是得到了 Pdf 加盖章和签名之后转换图片的并不能从 Word 直接转图片。而且感觉 Word 转图片也比较慢。 我感觉 PDF 转图片比较简单不用 Aspose 也行——于是使用了 Apache 的 Pdfbox。 !-- PDF2Img -- dependencygroupIdorg.apache.pdfbox/groupIdartifactIdpdfbox/artifactIdversion3.0.0/version /dependency你可以调整 DPI 分辨率跟图片格式下面例子是 gif 的。 /*** PDF 转图片** param pdfFile PDF 文件*/ public static void pdf2Img(String pdfFile, String outputDir) {long old System.currentTimeMillis();try (PDDocument document Loader.loadPDF(new File(pdfFile))) {PDFRenderer renderer new PDFRenderer(document);for (int i 0; i document.getNumberOfPages(); i) {ByteArrayOutputStream out new ByteArrayOutputStream();ImageIO.write(renderer.renderImageWithDPI(i, DPI), gif, out);// 将字节数组写入到文件try (FileOutputStream fos new FileOutputStream(outputDir FileHelper.SEPARATOR img- i .gif)) {fos.write(out.toByteArray());}}System.out.println(pdf2img共耗时 (System.currentTimeMillis() - old) / 1000.0 秒);} catch (IOException e) {e.printStackTrace();} }一般一份 PDF 是多页的于是也会输出多张图片。所以你可以修改里面的文件名生成规则。
http://www.zqtcl.cn/news/721150/

相关文章:

  • 汽车网站有哪些3d家装效果图制作软件
  • 荆门做网站公众号的公司网站百度不收录的原因
  • 专门做羽毛球的网站福州seo网站排名
  • 网站返回503的含义是门户网站开发合同
  • 自己做网站的成本要哪些东西wordpress模板如何管理系统
  • 做一般的网站要多久wordpress写文章页面无法显示
  • 人和兽做的网站视频汽车建设网站开发流程
  • 长春市建设工程造价管理协会网站厦门网站建设费用
  • 广东建设信息公开网站怎样策划一个营销型网站
  • 魔兽做图下载网站如何经营一个购物网站
  • 深圳做网站哪个平台好一级消防工程师考试题型
  • 网站婚礼服务态网站建设论文网站设计有限公司是干嘛的
  • 邯郸网站建设效果好广西做网站的公司
  • 网站logo上传营销型网站制作方案
  • 小说网站静态模板站长工具seo综合查询adc
  • 北京响应式网站做logo那个网站
  • 如何申请免费网站空间刚察县wap网站建设公司
  • 哪里有网站推广软件免费推广seo策略方法
  • 阿里云备案网站 网站名称怎么写京icp备案查询
  • 网站开发岗位思维导图alexa排名
  • 自适应网站建设济南济南网站建设公司
  • 巴州网站建设库尔勒网站建设钟爱网络杭州微信网站制作
  • 52做网站南京市住房城乡建设门户网站
  • 网站开发精品课程贵阳市白云区官方网站
  • seo整站优化服务会计培训班一般收费多少
  • 批量网站访问检测怎么做好手机网站开发
  • 深圳网站建设公司哪家比较好shortcodes wordpress
  • 网站内链越多越好嘛可以做3d电影网站
  • 企业网站需求文档微商引流客源最快的方法
  • 交互式网站备案业务网站在线生成