Warning: error_log(/data/www/wwwroot/hmttv.cn/caches/error_log.php): failed to open stream: Permission denied in /data/www/wwwroot/hmttv.cn/phpcms/libs/functions/global.func.php on line 537 Warning: error_log(/data/www/wwwroot/hmttv.cn/caches/error_log.php): failed to open stream: Permission denied in /data/www/wwwroot/hmttv.cn/phpcms/libs/functions/global.func.php on line 537 日韩在线一区高清在线,国产精品任我爽爆在线播放66,亚洲a在线视频

          整合營銷服務商

          電腦端+手機端+微信端=數據同步管理

          免費咨詢熱線:

          Java 用文本或表格替換Word書簽內容

          文將使用Free Spire.Doc for Java免費控件來演示如何替換Word文檔中添加有書簽的文本段落。具體內容如下:

          • 文本替換書簽內容
          • 表格替換書簽內容

          在運行代碼前,需將jar包導入IDEA。可通過下載產品包手動導入或在Maven下的pom.xml文件中添加如下引用。

          <repositories>
                  <repository>
                      <id>com.e-iceblue</id>
                      <url>http://repo.e-iceblue.cn/repository/maven-public/</url>
                  </repository>
          </repositories>
          <dependencies>
              <dependency>
                  <groupId>e-iceblue</groupId>
                  <artifactId>spire.doc.free</artifactId>
                  <version>3.9.0</version>
              </dependency>
          </dependencies>

          示例1 用文本替換書簽內容

          import com.spire.doc.*;
          import com.spire.doc.documents.*;
          
          public class ReplaceWithText {
              public static void main(String[] args) {
                  //加載Word文檔
                  Document doc = new Document("C:\\Users\\Test1\\Desktop\\Sample.docx");
          
                  //定位到書簽"MyBookmark"
                  BookmarksNavigator bookmarkNavigator = new BookmarksNavigator(doc);
                  bookmarkNavigator.moveToBookmark("MyBookmark");
          
                  //使用文本替換原書簽的內容, false表示不保留原來的格式
                  bookmarkNavigator.replaceBookmarkContent("使用文本替換書簽內容", false);
          
                  //保存文檔
                  doc.saveToFile("output/ReplaceWithText.docx", FileFormat.Docx);
              }
          }

          或使用Html String替換書簽內容

          import com.spire.doc.*;
          import com.spire.doc.documents.*;
          import com.spire.doc.fields.ParagraphBase;
          
          public class ReplaceWithHTMLString {
              public static void main(String[] args) {
                  //加載Word文檔
                  Document doc = new Document("C:\\Users\\Test1\\Desktop\\Sample.docx");
          
                  //臨時添加一個section
                  Section tempSection = doc.addSection();
                  //添加段落到section并添加Html string到段落
                  String html = "使用文本替換書簽內容";
                  tempSection.addParagraph().appendHTML(html);
          
                  //獲取段落的第一項和最后一項
                  ParagraphBase firstItem = (ParagraphBase)tempSection.getParagraphs().get(0).getItems().getFirstItem();
                  ParagraphBase lastItem = (ParagraphBase)tempSection.getParagraphs().get(0).getItems().getLastItem();
                  //創(chuàng)建TextBodySelection對象
                  TextBodySelection selection = new TextBodySelection(firstItem, lastItem);
                  //創(chuàng)建TextBodyPart對象
                  TextBodyPart bodyPart = new TextBodyPart(selection);
          
                  //定位到書簽"MyBookmark"
                  BookmarksNavigator bookmarkNavigator = new BookmarksNavigator(doc);
                  bookmarkNavigator.moveToBookmark("MyBookmark");
          
                  //使用Html string替換原書簽的內容
                  bookmarkNavigator.replaceBookmarkContent(bodyPart);
          
                  //移除臨時添加的section
                  doc.getSections().remove(tempSection);
          
                  //保存結果文檔
                  doc.saveToFile("output/ReplaceWithHTMLString.docx", FileFormat.Docx);
              }
          }

          替換前后對比:

          示例2 用表格替換書簽內容

          import com.spire.doc.*;
          import com.spire.doc.documents.*;
          
          public class ReplaceWithTable {
              public static void main(String[] args) {
                  //加載Word文檔
                  Document doc = new Document("C:\\Users\\Test1\\Desktop\\Sample.docx");
          
                  String[][] data =
                          {
                          new String[]{"名稱", "額定容量", "電源", "工作時間"},
                          new String[]{"LED-901充電式手電筒", "900mAH", "AC110V/220V", "26個小時"},
                          };
          
                  //創(chuàng)建表格
                  Table table = new Table(doc, true);
                  table.resetCells(2, 4);
                  for (int i = 0; i < data.length; i++) {
                      TableRow dataRow = table.getRows().get(i);
                      for (int j = 0; j < data[i].length; j++) {
                          dataRow.getCells().get(j).addParagraph().appendText(data[i][j]);
                      }
                  }
          
                  //創(chuàng)建TextBodyPart對象
                  TextBodyPart bodyPart= new TextBodyPart(doc);
                  bodyPart.getBodyItems().add(table);
          
                  //定位到書簽"MyBookmark"
                  BookmarksNavigator bookmarkNavigator = new BookmarksNavigator(doc);
                  bookmarkNavigator.moveToBookmark("MyBookmark");
          
                  //使用表格替換原書簽的內容
                  bookmarkNavigator.replaceBookmarkContent(bodyPart);
          
                  //保存文檔
                  doc.saveToFile("output/ReplaceWithTable.docx", FileFormat.Docx);
              }
          }

          替換效果:

          推薦閱讀:

          如何添加、讀取、刪除Word書簽

          件傳遞有兩種方式,冒泡和捕獲。事件傳遞定義了元素事件觸發(fā)的順序,在冒泡中,內部元素的事件會先被觸發(fā),然后在觸發(fā)外部元素,如先觸發(fā)p元素然后觸發(fā)div元素。在捕獲事件中,外部元素先被觸發(fā),然后內部事件觸發(fā)。addEventListener() 方法可以指定 "useCapture" 參數來設置傳遞類型:addEventListener(event, function, useCapture);

          創(chuàng)建新的HTML元素(節(jié)點)appendChild()

          HTML Collection與NodeList的區(qū)別:NodeList 與 HTMLCollection 有很多類似的地方。NodeList 與 HTMLCollection 都與數組對象有點類似,可以使用索引 (0, 1, 2, 3, 4, ...) 來獲取元素。NodeList 與 HTMLCollection 都有 length 屬性。節(jié)點列表不是一個數組!節(jié)點列表無法使用數組的方法: valueOf(), pop(), push(), 或 join() 。

          頁數據提取的方法很多,從其基本原理來說很多就是通過模擬http請求,發(fā)送給服務器,然后接收響應,解析響應的結果。整個過程說簡單也簡單,說復雜也復雜。這里來整理下做過的一些事,走過的路,遇到的坑。



          1,基本思路


          這里舉一個java下載的例子,說明簡單的思路。


          public void downPDF(String urlString, String filename, String pdf,

          String chk, String chk1, String chk2, String chk3) throws Exception {

          URL server = new URL(urlString);

          HttpURLConnection connection = (HttpURLConnection) server

          .openConnection();

          connection.setRequestMethod("GET");

          connection.setDoInput(true);

          connection.setDoOutput(true);

          connection.setUseCaches(false);

          connection.addRequestProperty("Accept","text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8");

          connection.addRequestProperty("Accept-Language", "zh-cn,zh;q=0.5");

          connection.addRequestProperty("Accept-Encoding", "gzip, deflate");

          connection.addRequestProperty("Accept-Charset","GB2312,utf-8;q=0.7,*;q=0.7");

          connection.addRequestProperty("Cookie","chk=");

          connection.addRequestProperty("User-Agent","Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0; .NET CLR2.0.50727; MS-RTC LM 8)");

          // if (headers != null) {

          // for (Header h : headers) {

          // System.out.println(h.getName() + ":" + h.getValue());

          // connection.addRequestProperty(h.getName(), h.getValue());

          // }

          // }

          connection.connect();

          InputStream is = connection.getInputStream();

          OutputStream os = new FileOutputStream(filename);

          byte[] buffer = new byte[1024 * 128];


          if (true) {

          int byteReaded = is.read(buffer);

          while (byteReaded != -1) {

          os.write(buffer, 0, byteReaded);

          byteReaded = is.read(buffer);

          }


          主站蜘蛛池模板: 人妻av综合天堂一区| 波多野结衣一区二区免费视频| 国产伦精品一区二区三区四区 | 91精品福利一区二区| 一区二区三区在线观看免费| 亚洲AV无码一区二区三区久久精品 | 久久国产免费一区二区三区| 精品国产一区二区三区2021| 四虎在线观看一区二区| 亚洲视频一区在线播放| 麻豆天美国产一区在线播放| 亚洲熟妇av一区二区三区漫画| 亚洲国产成人久久一区WWW | 高清一区高清二区视频| 男人的天堂av亚洲一区2区 | 日韩一区二区在线观看| 麻豆国产在线不卡一区二区 | 夜色阁亚洲一区二区三区| 精品国产亚洲一区二区三区在线观看 | 国产伦精品一区二区三区不卡| 2021国产精品一区二区在线| 亚洲一区精品中文字幕| 无码人妻精品一区二区三区久久| 国产亚洲无线码一区二区| 亚洲av午夜福利精品一区| 国产成人精品一区二区三区免费| 国产午夜精品一区二区三区漫画| 亚洲AV乱码一区二区三区林ゆな| 日本不卡一区二区三区| 一区二区中文字幕| 精品不卡一区二区| 国产女人乱人伦精品一区二区| 精品国产高清自在线一区二区三区| 亚洲国产成人久久一区二区三区| 在线日产精品一区| 福利一区福利二区| 亚洲毛片αv无线播放一区| 青青青国产精品一区二区| 无码中文字幕乱码一区 | 亚洲av日韩综合一区二区三区| 精品国产一区二区二三区在线观看|