Coldfusion과 함께 ABCpdf 9.1 x64 .Net을 사용하여 HTML 콘텐츠를 기반으로 PDF를 작성하고 있습니다. 각 PDF 문서에는 일부 Coldfusion 코드와 함께 HTML로 생성되는 다른 머리글과 바닥 글이 있습니다. 머리글은 모든 페이지에서 동일하며 바닥 글은 모든 페이지에서 약간 씩 다릅니다 (페이지 번호를 표시하기 때문에). 내 코드의 주요 부분은 다음과 같습니다.
// add content
theDoc.Get_Rect().Set_String("67 80 573 742");
theContentID = theDoc.AddImageHTML(pdfContent);
while (true) {
if (!theDoc.Chainable(theContentID)) {
break;
}
theDoc.Set_Page(theDoc.AddPage());
theContentID = theDoc.AddImageToChain(theContentID);
}
// add header & footer on each page
for (i=1; i <= theDoc.Get_PageCount(); i++) {
// set page
theDoc.Set_PageNumber(i);
// HEADER
theDoc.Get_Rect().Set_String("67 755 573 809");
theDoc.AddImageHTML(headerContent);
// FOOTER
theDoc.Get_Rect().Set_String("67 0 573 65");
theDoc.AddImageHTML(replace(footerContent, "[page]", i));
}
보시 AddImageHTML()
다시피이 메서드는 모든 페이지에 대해 2 번, 콘텐츠에 대해 한 번 호출됩니다. 따라서 6 페이지를 생성하는 콘텐츠가 있으면 메서드가 13 번 호출됩니다. 방법이 많은 시간을 소비하기 때문에 이상적이지 않습니다.
HTML에서 머리글과 바닥 글을 추가하는 더 효율적인 방법이 있습니까? 메서드가 AddImageCopy()
있지만 .NET에서 만든 개체에서는 작동하지 않습니다 AddImageHtml()
.
이해를 돕기 위해 : 이러한 getter 및 setter 메서드는 .Net 속성에 액세스하기 위해 Coldfusion에 의해 생성됩니다.
당신의 HTML이 비교적 간단하고 CSS에 의존하지 않는 경우, 당신은 아마도 HTML 스타일 적용 텍스트와 사용 용도에 조정할 수 AddHtml
대신 AddImageHtml
. AddHtml
보다 훨씬 빠르게 수행되어야합니다 AddImageHtml
. 부수적 인 이점으로 필요한 경우 참조 된 (시스템에 설치되지 않은) 글꼴 및 CMYK 색상을 사용할 수 있습니다.
헤더는 모든 페이지에서 동일하므로 AddImageHtml
보조 Doc
개체 에 사용할 수 있으며 각 페이지의 이미지로 추가 할 수 있습니다 . 이것은 헤더에 대한 호출을 페이지 당 하나에서 파일 당 하나로 줄입니다.
각 페이지에서 바닥 글이 다르기 때문에 각 페이지에서 무언가 에 대한 호출을 피할 수있는 방법을 알 수 없습니다 .
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다