2014-05-19 2 views
0

두 개의 PDF가 있습니다. 하나는 기본 PDF이고 다른 하나는 첫 번째 이미지에 삽입해야하는 이미지가 있습니다. 또한 두 번째 PDF에서 이미지를 삽입 한 후 두 번째 PDF의 나머지 부분을 연결해야합니다.iText - 한 PDF의 일부를 다른 PDF에 추가

+1

[이 답변] (http://stackoverflow.com/questions/23261198/how-to-move-text-written-in-type-3-font-from-one-pdf-to-other-pdf/ 23489682 # 23489682)가 길을 나타낼 수 있습니다. – mkl

답변

0

해결책은 PDF 페이지를 이미지와 함께 주 PDF에 겹치게하는 것이 었습니다. 그런 다음 나머지 부분을 연결하십시오. "design_section"은 이미지가있는 PDF입니다. 이 코드는 수행합니다

PdfReader confirmation_section = new PdfReader(SOURCE); 
    PdfReader design_section = new PdfReader(SOURCE2); 

    PdfStamper stamper = new PdfStamper(confirmation_section, new FileOutputStream(RESULT)); 
    PdfImportedPage page = stamper.getImportedPage(design_section, 1); 
    int c = confirmation_section.getNumberOfPages(); 
    PdfContentByte background; 
    for (int i = 1; i <= c; i++) { 
     background = stamper.getUnderContent(i); 
     if(i == c) 
      background.addTemplate(page, 0, 0); 
    } 


    int d = design_section.getNumberOfPages(); 

    if(d > 1) { 
     for(int f = 2; f <= d; f++) { 
      stamper.insertPage(c + f, confirmation_section.getPageSize(1)); 
      page = stamper.getImportedPage(design_section, f); 
      stamper.getOverContent(c + f - 1).addTemplate(page, 0, 0); 
      System.out.println("here we are in the loop c + f is: " + (c + f)); 
     } 
    } 

    stamper.close(); 

뾰족한 제안을 iText를위한 - 방법 "addTemplate()"을 "의 addPage()"??? 이름을 변경에 대해. iText는 제가 사용했던 가장 수수한 라이브러리입니다. 정규 표현식을 포함합니다.

+1

* "addTemplate()"을 "addPage()"로 변경하는 방법 * - 가져온 페이지는 매우 특별한 템플릿 일 뿐이며 'addTemplate'을 사용하여 모든 템플릿을 추가 할 수 있습니다. 따라서 이름을 바꾸면 부적절합니다. – mkl

+0

템플릿은 특별한 의미가 있습니다. 이것은 인터페이스 나 추상 클래스와 같은 것을 의미합니다. 당신이 구축 할 수있는 일반적인 작업 프레임 워크입니다. 내 마음 속에, 나는 위의 "템플릿"으로 아무 것도하지 않았다 ... pdf 995 (편집)를 보면 매우 명확한 사용자 인터페이스가있다. iText는이 수업을 수업에 사용해야합니다. "기존 Pdf 결합", "PDF 페이지 추출"과 같은 용어. 나는 알고있다.)), iText는 도서관이다. 이것은 영감만을위한 것이다.)). iText가 그대로 있으면 OK)). – tom

+0

그렇다면 PdfCopy PDFStamper 및 PDFReader/Writer가 있습니다. 우리 모두 정말 필요합니까? 여기 도서관의 건축 방향과 관련하여 무언가를 부인할 필요가 없습니까? 내가 일할 무언가를 얻기 전에 나는 세 번에 걸쳐 여러 번 중재를 끝내었다. 각 반복은 주어진 PDF 병합 루틴의 일부 숨겨진 제한이있는 막 다른 골목이었습니다. 그런 다음 다음 것을 시도해 보았습니다 .... 바보처럼 보입니다 .... – tom

0

감사합니다. 나는 그것을 여러 번, 여러 번 읽었다))), 정직하게, 적어도 6 번. 나는 그것이 단지 발췌 일 뿐이며 책에 더 많은 가치있는 정보가 있다는 것을 확신하지만, 나는 그것이 내가 찾던 것을 발견하지 못했다고 말했다. 이 텍스트에서는 PDF에서 다른 페이지로 페이지를 추가하는 것과 같은 맥락에서 PdfCopy PDFStamper와 PDFReader/Writer를 토론하고 비교 및 ​​차별화하는 위치는 어디입니까?

관련 문제