2011-11-07 2 views
2

프린터로 곧바로 보고서를 생성하고 있지만 몇 가지 문제가 있습니다. 스크린에 렌더링하고 결과 PDF를 인쇄하면 잘 인쇄됩니다. 그러나 직접 인쇄 할 때 이상한 여백 문제가 발생합니다. 대상은 4 "x3"레이블이있는 얼룩말입니다.JasperReports로 인쇄 여백을 변경하는 방법은 무엇입니까?

그래서 같은 용지 크기 내가 설정 한 경우 : 오른쪽 마진은 약 0.25

MediaSizeName mediaSizeName=MediaSize.findMedia(4, 3, MediaPrintableArea.INCH); 
printRequestAttributeSet.add(mediaSizeName); 

결과는 상단 여백에 대한 라벨 업 (아무도 없을 것) 반 인치 왼쪽 여백,이다 "라벨의 일부가 잘리고 밑 부분의 소리가 1.5"이며 많은 라벨이 잘립니다.

용지 크기를 설정하지 않으면 위쪽 여백과 왼쪽 여백이 완벽하므로 (레이블 가장자리로 이동하지 않음을 의미), 여전히 큰 아래쪽 여백으로 끝납니다 (물건은 잘게 잘려져 있습니다.) 그리고 오른쪽 여백은 훨씬 더 커집니다 (인쇄 된 정보와 관련하여 같은 지점에서 잘립니다).

무엇이 여기에 있습니까?

답변

1

헉,이 시스템에서 프린터 환경 설정 옵션으로 밝혀졌다 모든 후. 화면에서 PDF 인쇄가 왜 효과가 있었는지 설명 할 수 없습니다. 필자는 4 "x3"크기의 프린터 설정에서 맞춤형 라벨 용지를 설정하려고 시도했는데 이것이 내 Java 응용 프로그램에 도움이되지 않았으므로 잘못된 코딩 작업이라고 생각했습니다. 별로. 분명히 커스텀 라벨 스톡은 올바르게 작동하지 않습니다. 나는 고급 옵션을 파고 거기에 크기를 설정할 수있었습니다 ...

4

JasperDesign 클래스의 setBottomMargin, setTopMargin, setRightMargin, setLeftMargin 메서드 또는 JasperPrint 클래스의 같은 메서드를 사용할 수 있습니다.

샘플 here을 볼 수 있습니다.

또한 iReport를 사용하여 보고서 템플릿에 여백을 설정할 수도 있습니다.
보고서 템플릿의 미리보기 :

<jasperReport ... language="groovy" pageWidth="595" pageHeight="842" columnWidth="593" leftMargin="1" rightMargin="1" topMargin="1" bottomMargin="1"> 

당신은 또한 MediaPrintableArea class constructor을보고이 post를 읽을 수 있습니다. 업데이트]

: this discussion에서 마진을 제거하는 방법

다른 해결책 :

PageFormat pf = PrinterJob.getPrinterJob().defaultPage(); 
    Paper paper = new Paper(); 
    paper.setImageableArea(0, 0, paper.getWidth(), paper.getHeight()); // no margin = no scaling 
    pf.setPaper(paper); 
+0

음, 불행히도, 거기에 올바르게 설정되어 있습니다 (나는 믿습니다). pageWidth = 288. 인치 당 72. 7 왼쪽 및 오른쪽 여백, 가장 큰 항목은 274 너비로 총 288 개입니다. :-( –

+0

@BrianKnoblauch 생성 된 PDF 파일을 인쇄 할 때 모든 내용이 정상입니까? –

+0

생성 된 PDF (exportToPdfStream을 통해)가 잘려 나오고 아무것도 잘라 내지 않습니다. –

관련 문제