2016-06-01 3 views
1

페이지 당 2 개 (이 형식을 선택할 수 없음) 여러 개의 배송 라벨이 포함 된 파일이 있습니다. 각 개별 레이블을 4 x 6 레이블 프린터에서 인쇄 할 수 있도록 파일을 수정하려고합니다.PdfStamper/PdfReader를 사용하여 중복 된 PDF 페이지

pdf 페이지의 내용을 다른 페이지로 복사 할 때 문제가 발생하여 원본 페이지의 각 레이블이있는 페이지 2 개를 생성하기 위해 각기 다른 영역의 각 페이지를자를 수 있습니다.

string filename = "Package.pdf"; 
     using (var existingFileStream = new FileStream(filename, FileMode.Open)) 
     { 
      var pdfReader = new PdfReader(existingFileStream); 

      using (FileStream output = new FileStream("Mod_package.pdf", FileMode.Create, FileAccess.Write)) 
      { 
       using (PdfStamper pdfStamper = new PdfStamper(pdfReader, output)) 
       { 
        int originalpages = pdfReader.NumberOfPages; 
        for(int page = 1; page <=originalpages; page++) 
        { 
         Rectangle rect = pdfReader.GetCropBox(page); 
         pdfStamper.InsertPage(page * 2, rect); 
        } 
        for(int page = 2; page <=pdfReader.NumberOfPages; page=page+2) 
        { 

         //I want to insert the content from pdf page 1 into 
         //page 2, page 3 into page 4 etc etc. 
        } 
        for (int page = 1; page <= pdfReader.NumberOfPages; page++) 
        { 
         //The basic jyst of how I'm cropping 
         //This will be modified to use an even/odd page scheme 
         Rectangle rect = pdfReader.GetCropBox(page); 
         rect.Bottom = rect.Bottom/2; 
         pdfReader.GetPageN(page).Put(PdfName.CROPBOX, new PdfRectangle(rect)); 
         rect = pdfReader.GetCropBox(page); 
         rect.Top = rect.Top/2; 
         pdfReader.GetPageN(page).Put(PdfName.CROPBOX, new PdfRectangle(rect)); 
        } 
       } 
      } 
      pdfReader.Close(); 
     } 

나는 내가 비교적 새로운 해요 .. 내가 이상한 ITextSharp 코드가이 작업 내 사과를 달성하는 방법에 대한 권장 사항을 감사하겠습니다 다음과 같이 내가 현재 가지고있는 코드입니다.

답변

2

시간을내어 질문을 게시하자마자 대답을 찾을 수 있습니다. 위의 코드에서, I는 다음 삽입 : 루프 번째에두고

pdfStamper.ReplacePage(pdfReader, page - 1, page); 

1 페이지의 내용이 4 등 등이 고무 더킹라고

+0

페이지 (2, 3)에 전송된다. 도와 줘서 기뻐. http://www.urbandictionary.com/define.php?term=Rubber%20ducking –

+0

하하 ... 나는 그것을 기억할 것이다. 감사! –