문제

나는 ReportLab의 보고서에 간단한 "Page X of Y"를 추가하려고합니다. 이 오래된 게시물 그것에 대해, 그러나 아마도 6 년 후 더 간단한 것이 등장했을까요? ^^;
나는 찾았다 이 레시피 또한 사용하면 결과 PDF에 이미지가 누락되었습니다.

도움이 되었습니까?

해결책

ActiveState에서 숫자로드 칸바 접근법을 구현할 수있었습니다. 수행하기가 매우 쉬웠으며 기존 코드를 많이 변경하지 않았습니다. 내가해야 할 일은 숫자를 올릴 때 숫자를 추가하고 캔버스 메이커 속성을 추가하는 것입니다. 또한 "x of y"가 표시된 위치의 측정 값을 변경했습니다.

self.doc.build(pdf)

~가 되었다

self.doc.build(pdf, canvasmaker=NumberedCanvas) 

문서 기반 초판입니다 PDF 흐름 가능한 요소 목록입니다.

다른 팁

Doc.multibuild를 사용하십시오

그리고 페이지 헤더 메소드에서 ( "onlaterpages ="에 의해 정의 됨) :

global TOTALPAGES
if doc.page > TOTALPAGES:
    TOTALPAGES = doc.page
else:
    canvas.drawString(270 * mm, 5 * mm, "Seite %d/%d" % (doc.page,TOTALPAGES))

당신을 위해 코드를 파는 것만으로도 우리는 이것을 사용합니다.

SimpleDocTemplate(...).build(self.story,
                             onFirstPage=self._on_page,
                             onLaterPages=self._on_page)

지금 self._on_page 다음과 같은 각 페이지에 대해 호출되는 메소드입니다.

def _on_page(self, canvas, doc):
    # ... do any additional page formatting here for each page
    print doc.page
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top