콘텐츠를 PDF의 페이지 중간에 삽입해야한다는 요구 사항이 있습니다.IText를 사용하여 PDF의 페이지 중간에 내용을 삽입하는 방법
콘텐츠는 동적 테이블 또는 이미지 일 수 있습니다.
개념은 먼저 PDF를 2 부분으로 나누고, 추가 할 새로운 내용을 가져 와서 자리 표시 자 필드를 바꾸어 추가하는 것이 었습니다.
분할은 IText에 따라 타일링이라고하며, 여기에는 동일한 예가 나와 있습니다. http://itextpdf.com/examples/iia.php?id=116
위의 코드는 두 가지 단점이있다 : 그것은 16 개 부분으로 페이지를 분할 1.. 하지만 그것은 예제의 일부입니다. 아직도 나는 2 부분으로 파일을 나눌 방법을 찾아 낼 수 없다. 2. 두 번째로 분할 된 페이지가 전체 페이지로 변환되므로 비율이 불안정합니다.
재 배열 코드는 다른 문제입니다.
나머지 콘텐츠는 추가 모드로 재주문해야합니다. 그러나 아직까지는 단지 내용이 아닌 완전한 새로운 페이지를 추가하는 코드 만 발견했습니다. 나는 자리를 대체하여 PDF 내용을 추가 코드를 발견
:
float[] fieldPosition= pdfTemplate.getAcroFields().getFieldPositions("tableField");
PdfPTable table = buildTable();
PdfContentByte cb = stamper.getOverContent(1);
table.writeSelectedRows(0, -1, fieldPosition[1],fieldPosition[4],cb);
이 요구 사항을 해결하기 위해 도와주세요.
안녕 Alexis, 나는 당신과 의견이 맞지 않아. 나는 이미 PDF를 어느 정도 편집했고 나는 이전에 그렇게했지만 코드 백업을 사용할 수 없다는 말을 들었다. 나는 여전히 완전한 해결책을 찾으려고 노력 중이다. –
PDF 파일 편집이 가능하다 : 페이지를 추가/제거하고, 내용의 위/아래에 스탬프를 찍고, 자르기, 자르기, 병합 등을 할 수있다. 원본 콘텐츠가 리플 로우되고 새로 추가 된 콘텐츠에 적응하는 방식으로 PDF 파일을 수정해야합니다. –
바이트 형식으로 콘텐츠를 추출 할 수있는 방법이 있습니까 ?? 필자는 IText 라이브러리에 PDFContentByte라는 클래스가 있다는 것을 보았습니다. 이를 바이트 형식으로 내용을 추출한 다음 추가 된 PDF 내용 바이트 뒤에 추가하면 문제가 해결 될 수 있습니다. 불행히도 나는 현재 이것을 어떻게하는지 모른다. –