<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      Itext PDF 編輯 合并 圖片轉PDF以及表單域

      Itext PDF 編輯 合并 圖片轉PDF以及表單域

      編輯PDF

       
       
       
      ?x
       
       
       
       
      import com.itextpdf.text.pdf.BaseFont;
      import com.itextpdf.text.pdf.PdfContentByte;
      import com.itextpdf.text.pdf.PdfReader;
      import com.itextpdf.text.pdf.PdfStamper;
      import org.junit.Test;
       
      import java.io.FileOutputStream;
       
      /**
       * @Classname ItextPDF
       * @Description TODO
       * @Date 2021/9/17 0017 16:27
       * @Created by Mr.Fang
       */
      public class ItextPDF {
       
          /**
           * @return void
           * @Description 編輯現有 PDF 文件
           * @date 2021/9/17 0017 16:28
           * @auther Mr.Fang
           **/
          @Test
          public void editPdf() throws Exception {
              String src = "C:/IText合同.pdf";
              String desc = "C:/IText合同-edit.pdf";
              // 這里字體使用了本地字體,中文不設置字體 PDF 文件上顯示空白
              BaseFont baseFont_zh = BaseFont
                  .createFont("C:\\Windows\\Fonts\\simsun.ttc,0", BaseFont.IDENTITY_H, BaseFont.NOT_EMBEDDED);
              //創建一個 pdf 讀入流
              PdfReader reader = new PdfReader(src);
              //根據一個 PdfReader 創建一個 pdfStamper.用來生成新的pdf.
              PdfStamper stamper = new PdfStamper(reader, new FileOutputStream(desc));
              //指定 PDF 文件頁面
              PdfContentByte canvas = stamper.getUnderContent(1);
              canvas.saveState(); // 保存狀態
              canvas.beginText(); // 開始寫入
              canvas.setFontAndSize(baseFont_zh, 12); // 設置字體 大小
              canvas.setTextMatrix(138, 687); // 坐標 橫坐標 縱坐標 這里如果 px取值 需要 px*0.75
              canvas.showText("2021-09-17");
              canvas.endText(); // 寫入結束
              canvas.restoreState(); // 恢復狀態
              stamper.setFormFlattening(true); // 禁止編輯
              stamper.close(); // 關閉流
          }
      
      
      }
       

      編輯PDF附件

      合并PDF

       
       
       
      xxxxxxxxxx
       
       
       
       
      import com.itextpdf.text.Document;
      import com.itextpdf.text.DocumentException;
      import com.itextpdf.text.pdf.*;
      import org.junit.Test;
      
      
      import java.io.FileOutputStream;
      import java.io.IOException;
      import java.util.ArrayList;
      import java.util.List;
      
      
      /**
       * @Classname ItextPDF
       * @Description TODO
       * @Date 2021/9/17 0017 16:27
       * @Created by Mr.Fang
       */
      public class ItextPDF {
      
      
          /**
           * @return void
           * @Description 合并 PDF
           * @date 2021/9/17 0017 16:56
           * @auther Mr.Fang
           **/
          @Test
          public void mergePdf() throws Exception {
              List<String> list = new ArrayList(); // 需要合并的文件路徑
              list.add("C:/IText合同-edit.pdf");
              list.add("C:/自我申明.pdf");
              String desc = "C:/IText合同-merge.pdf";
              Document document = new Document(new PdfReader(list.get(0)).getPageSize(1));
              PdfCopy copy = new PdfCopy(document, new FileOutputStream(desc));
              document.open();
              for (int i = 0; i < list.size(); i++) {
                  PdfReader reader = new PdfReader(list.get(i));
                  int n = reader.getNumberOfPages();
                  for (int j = 1; j <= n; j++) {
                      document.newPage();
                      PdfImportedPage page = copy.getImportedPage(reader, j);
                      copy.addPage(page);
                  }
              }
              document.close();
          }
      
      
      }
       

      合并PDF附件

      圖片轉PDF

       
       
       
      xxxxxxxxxx
       
       
       
       
      import com.itextpdf.text.*;
      import com.itextpdf.text.pdf.*;
      import org.junit.Test;
      
      
      import java.io.FileOutputStream;
      import java.io.IOException;
      import java.util.ArrayList;
      import java.util.List;
      
      
      /**
       * @Classname ItextPDF
       * @Description TODO
       * @Date 2021/9/17 0017 16:27
       * @Created by Mr.Fang
       */
      public class ItextPDF {
      
      
          /**
           * @return void
           * @Description 圖片轉 PDF
           * @date 2021/9/17 0017 17:20
           * @auther Mr.Fang
           **/
          @Test
          public void imageToPdf() throws Exception {
              List<String> list = new ArrayList(); // 需要合并的文件路徑
              list.add("C:/1.png");
              list.add("C:/2.png");
              list.add("C:/3.png");
              String desc = "C:/imageToPdf.pdf";
              // 創建一個 document 流
              Document document = new Document(PageSize.A4);
              FileOutputStream fos = new FileOutputStream(desc);
              PdfWriter.getInstance(document, fos);
              //打開文檔
              document.open();
              // 添加PDF文檔的某些信息,比如作者,主題等等.必須 open 以后才起作用
              document.addTitle("標題:合并圖片");
              document.addAuthor("作者:Mr.Fang");
              document.addSubject("主題:圖片轉PDF");
              document.addCreator("創建者:Mr.Fang");
              for (String source : list) {
                  //獲取圖片的寬高
                  com.itextpdf.text.Image image = com.itextpdf.text.Image.getInstance(source);
                  // 也可設置頁面尺寸
      //            float imageHeight = image.getScaledHeight();
      //            float imageWidth = image.getScaledWidth();
      //            document.setPageSize(new Rectangle(imageWidth,imageHeight));
                  //圖片居中
                  image.scaleToFit(PageSize.A4); // 圖片大小縮小在 A4 尺寸以內自適應
                  image.setAlignment(Image.ALIGN_CENTER); // 對齊方式居中
                  image.setCompressionLevel(0); // 壓縮 0-9
      //            image.scalePercent(40); // 百分比縮小圖片
                  //新建一頁添加圖片
                  document.newPage();
                  document.add(image);
              }
              document.close();
              fos.flush();
              fos.close();
          }
      
      
      }
      
      
       

      圖片轉PDF附件

      表單域

      1. 創建一個 word,當然直接用 PDF也可以。
      2. 轉成 PDF 文件,使用Adobe Acrobat DC 工具掃描添加表單域,其他工具也可以。
      3. 另存為 PDF 文件
       
       
       
      xxxxxxxxxx
       
       
       
       
      import com.itextpdf.text.*;
      import com.itextpdf.text.pdf.*;
      import org.junit.Test;
      
      
      import java.io.File;
      import java.io.FileOutputStream;
      import java.io.IOException;
      import java.util.ArrayList;
      import java.util.HashMap;
      import java.util.List;
      import java.util.Map;
      
      
      /**
       * @Classname ItextPDF
       * @Description TODO
       * @Date 2021/9/17 0017 16:27
       * @Created by Mr.Fang
       */
      public class ItextPDF {
      
      
          /**
           * @return void
           * @Description 表單域
           * @date 2021/9/17 0017 17:40
           * @auther Mr.Fang
           **/
          @Test
          public void formPdf() throws Exception {
              String src = "C:/Itext表單域-form.pdf";
              String desc = "C:/form.pdf";
              // key value 賦值
              Map<String, String> map = new HashMap<>();
              map.put("fill_1", "表單1");
              map.put("fill_2", "表單2");
              map.put("fill_3", "表單3");
              map.put("fill_4", "表單4");
              // 設置字體否則中文不顯示
              BaseFont baseFont_zh = BaseFont
              .createFont("C:\\Windows\\Fonts\\simsun.ttc,0", BaseFont.IDENTITY_H, BaseFont.NOT_EMBEDDED);
              //創建一個 pdf 讀入流
              PdfReader reader = new PdfReader(src);
              //根據一個 PdfReader 創建一個pdfStamper 用來生成新的pdf.
              PdfStamper stamper = new PdfStamper(reader, new FileOutputStream(desc));
              AcroFields form = stamper.getAcroFields();
              form.addSubstitutionFont(baseFont_zh);
              //遍歷map裝入數據
              for (Map.Entry<String, String> entry : map.entrySet()) {
                  form.setField(entry.getKey(), entry.getValue());
              }
              stamper.setFormFlattening(true);// 如果為false那么生成的PDF文件還能編輯,一定要設為true
              stamper.close();
          }
      
      
      }
      
      
       

      表單域附件

      maven

       
       
       
      xxxxxxxxxx
       
       
       
       
      <dependency>
         <groupId>com.itextpdf</groupId>
         <artifactId>itextpdf</artifactId>
         <version>5.5.13</version>
      </dependency>
       

      其他

      表單域

      表單域2

       

       

      posted @ 2021-09-18 15:11  天葬  閱讀(1375)  評論(0)    收藏  舉報
      主站蜘蛛池模板: 亚洲国产午夜福利精品| 久爱www人成免费网站| 日韩有码av中文字幕| 国产精品午夜av福利| 老司机精品成人无码AV| 日本无码欧美一区精品久久| 美女一级毛片无遮挡内谢| 亚洲色最新高清AV网站| 国产自产在线视频一区| 亚洲综合一区二区三区不卡| 无码精品人妻一区二区三区中| 爱性久久久久久久久| 九九热在线精品视频99| 成全影视大全在线观看| 午夜精品久久久久久久爽| 日本强好片久久久久久aaa| 国产一区二区波多野结衣| 中文字幕国产精品日韩| 日本高清在线播放一区二区三区| 国产av最新一区二区| 国产午夜亚洲精品福利| 国产精品久久国产丁香花| 91久久偷偷做嫩草影院免费看| 极品无码国模国产在线观看| 激情五月天一区二区三区| 国产精品老年自拍视频| 国产精品久久欧美久久一区| 麻豆一区二区三区香蕉视频| 国产精品免费无遮挡无码永久视频| 亚洲老妇女亚洲老熟女久| 又粗又硬又黄a级毛片| 日日碰狠狠添天天爽五月婷| 国内精品免费久久久久电影院97| 国产精品美人久久久久久AV| 国产在线精品欧美日韩电影| 野花社区www高清视频| 九九热在线视频精品免费| 精品无码三级在线观看视频 | 樱花草在线社区www| 国产精品熟女一区二区三区| 人妻少妇久久中文字幕|