aspose.words for java操作文档doc,设置一级二级三级标题以及段落表格等详情
生活随笔
收集整理的這篇文章主要介紹了
aspose.words for java操作文档doc,设置一级二级三级标题以及段落表格等详情
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
實現將aspose.words的相關組件jar包
以下是我自己編輯整理的工具類,歡迎交流
package com;import java.io.InputStream;import org.slf4j.Logger; import org.slf4j.LoggerFactory;import com.aspose.words.CellMerge; import com.aspose.words.CellVerticalAlignment; import com.aspose.words.Document; import com.aspose.words.DocumentBuilder; import com.aspose.words.FontSettings; import com.aspose.words.HeightRule; import com.aspose.words.License; import com.aspose.words.LineStyle; import com.aspose.words.ParagraphAlignment; import com.aspose.words.SaveFormat; import com.aspose.words.Table;/*** * @ClassName:AsposeUtils* @Description: aspose.words操作文檔工具類* @Date:2019年1月11日**/ public class AsposeUtils {private static final Logger LOGGER = LoggerFactory.getLogger(AsposeUtils.class);private static boolean AsposeLicense = false;static{try {//license.xml InputStream is = AsposeUtils.class.getClassLoader().getResourceAsStream("license.xml"); new License().setLicense(is); AsposeLicense = true;} catch (Exception e) {e.printStackTrace();} }/*** 驗證License* @return boolean*/ private static void getLicense() { if (!AsposeLicense) { // 驗證License 若不驗證則轉化出的pdf文檔會有水印產生LOGGER.info("**********驗證失敗,會產生水印***********");} LOGGER.info("************驗證成功,已去除默認水印***********");}/*** 保存pdf* @param path保存目錄* @param doc原文檔*/public static void savePdf(String path,Document doc){String format = "pdf";save(path,doc,SaveFormat.PDF,format);}/*** 保存doc* @param path保存目錄* @param doc原文檔*/public static void saveDoc(String path,Document doc){String format = "doc";save(path,doc,SaveFormat.DOC,format);}public static void saveDocx(String path,Document doc){String format = "docx";save(path,doc,SaveFormat.DOCX,format);}/*** 保存各種格式的文檔* @param path保存地址* @param doc保存文件* @param saveFormat保存格式*/private static void save(String path,Document doc,int saveFormat,String format){getLicense();try {String os = System.getProperty("os.name");if(os.toLowerCase().indexOf("linux") >= 0){LOGGER.info("************當前使用*****linux**"+ os +"*********");//設置一個字體目錄FontSettings.getDefaultInstance().setFontsFolder("/usr/share/fonts/", false);}doc.save(path, saveFormat);} catch (Exception e) {LOGGER.info("************保存文檔(格式為"+format+")出現異常***********");e.printStackTrace();}}/*** 制作報表總標題* @param builder* @param title*/public static void setTitle(DocumentBuilder builder,String title){try {//設置字體格式builder.insertHtml("<p style='text-align:center'><font face='宋體' size='30' color='black'>"+ title +"</font></p>");} catch (Exception e) {LOGGER.info("************制作標題"+title+"出現異常***********");e.printStackTrace();}}/*** 制作一級標題* @param builder* @param title*/private static void setTitle1(DocumentBuilder builder,String title1){try {builder.insertHtml("<h1 style='text-align:left;font-family:Simsun;'>"+ title1 +"</h1>");} catch (Exception e) {LOGGER.info("************制作一級標題"+title1+"出現異常***********");e.printStackTrace();}}/*** 制作二級標題* @param builder* @param title*/private static void setTitle2(DocumentBuilder builder,String title2){try {builder.insertHtml("<h2 style='text-align:left;font-family:Simsun;'>"+ title2 +"</h2>");} catch (Exception e) {LOGGER.info("************制作二級標題"+title2+"出現異常***********");e.printStackTrace();}}/*** 制作三級標題* @param builder* @param title*/private static void setTitle3(DocumentBuilder builder,String title3){try {builder.insertHtml("<h3 style='text-align:left;font-family:Simsun;'>"+ title3 +"</h3>");} catch (Exception e) {LOGGER.info("************制作三級標題"+title3+"出現異常***********");e.printStackTrace();}}/*** 區別各級標題* @param builder* @param title* @param level*/public static void setTitleS(DocumentBuilder builder,String title,String level){switch (level) {case "1":setTitle1(builder, title);break;case "2":setTitle2(builder, title);break;case "3":setTitle3(builder, title);break;default:break;}}/*** 制作報表段落* @param builder* @param pragraph*/public static void setParagraph(DocumentBuilder builder,String pragraph){try {//設置字體格式builder.insertHtml("<p><font face='宋體'> "+ pragraph +"</font></p>");} catch (Exception e) {LOGGER.info("************制作段落"+pragraph+"出現異常***********");e.printStackTrace();}}/*** 制作一個單元格并追加數據,單元格不合并* @param builder* @param width 設置單元格寬度* @param text*/public static void setCell(DocumentBuilder builder,Double width,String text){builder.insertCell();if(width==null) width = 3d;builder.getCellFormat().setWidth(width);builder.getCellFormat().setVerticalMerge(CellMerge.NONE);builder.write(text);}/*** 插入單元格,不設置寬度,單元格不合并* @param builder* @param text*/public static void setCell(DocumentBuilder builder,String text){builder.insertCell();builder.getCellFormat().setVerticalMerge(CellMerge.NONE);builder.getCellFormat().setVerticalAlignment(CellVerticalAlignment.CENTER);builder.write(text);}public static void setCell(DocumentBuilder builder,Long text){builder.insertCell();builder.getCellFormat().setVerticalMerge(CellMerge.NONE);builder.getCellFormat().setVerticalAlignment(CellVerticalAlignment.CENTER);if(text == null){builder.write("");}else{builder.write(text.toString());}}public static void setCell(DocumentBuilder builder,Double text){builder.insertCell();builder.getCellFormat().setVerticalMerge(CellMerge.NONE);builder.getCellFormat().setVerticalAlignment(CellVerticalAlignment.CENTER);if(text == null){builder.write("");}else{builder.write(text.toString());}}/*** 垂直合并單元格的第一格* @param builder* @param text*/public static void setStartVerticalMerge(DocumentBuilder builder,String text){builder.insertCell();builder.getCellFormat().setVerticalMerge(CellMerge.FIRST);builder.getCellFormat().setVerticalAlignment(CellVerticalAlignment.CENTER);builder.write(text);}/*** 垂直合并單元格的后面格* @param builder* @param text*/public static void setThenVerticalMerge(DocumentBuilder builder){builder.insertCell();// This cell is vertically merged to the cell above and should be empty. builder.getCellFormat().setVerticalMerge(CellMerge.PREVIOUS);builder.getCellFormat().setVerticalAlignment(CellVerticalAlignment.CENTER);}/*** 水平合并單元格的第一格* @param builder* @param text*/public static void setStartHorizontalMerge(DocumentBuilder builder,String text){builder.insertCell();builder.getCellFormat().setHorizontalMerge(CellMerge.FIRST);builder.write(text);}/*** 水平合并單元格的后面格* @param builder* @param text*/public static void setThenHorizontalMerge(DocumentBuilder builder){builder.insertCell();// This cell is vertically merged to the cell above and should be empty. builder.getCellFormat().setHorizontalMerge(CellMerge.PREVIOUS);}/*** 制作表格數據行* @param builder*/public static void setRow(DocumentBuilder builder){try {builder.getRowFormat().setHeadingFormat(true);builder.getRowFormat().getBorders().setLineStyle(LineStyle.SINGLE);builder.getRowFormat().setHeightRule(HeightRule.AUTO);builder.getRowFormat().setAllowBreakAcrossPages(true);} catch (Exception e) {LOGGER.info("************制作表格數據行出現異常***********");e.printStackTrace();}}/*** 制作表格* @param builder* @throws Exception */public static Table setTable(DocumentBuilder builder){builder.moveToDocumentEnd();Table table = builder.startTable();builder.getParagraphFormat().setAlignment(ParagraphAlignment.CENTER);return table;} }?
轉載于:https://www.cnblogs.com/zhhy/p/10278580.html
總結
以上是生活随笔為你收集整理的aspose.words for java操作文档doc,设置一级二级三级标题以及段落表格等详情的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 在vue项目npm run build后
- 下一篇: hbase基础建表语句