PDF 파일을 인쇄하는 라벨 프린터로 작업하고 있습니다. 다음과 같은 파일을 만듭니다.텍스트의 크기를 조정하여 한 페이지에 텍스트가 맞도록합니다.
public static Document createPDF() {
float pageWidth = 176f;
float pageHeight = 200f;
Rectangle pageSize = new Rectangle(pageWidth, pageHeight);
Document document = new Document(pageSize);
document.setMargins(5, 5, 1, 0);
String file = MainActivity.FILE_URI;
try {
PdfWriter.getInstance(document,new FileOutputStream(file));
} catch (FileNotFoundException e1) {
e1.printStackTrace();
} catch (DocumentException e1) {
e1.printStackTrace();
}
return document;
}
그런 다음 몇 개의 단락을 추가합니다. 단락에는 가변 길이가 있습니다. 페이지의 길이를 초과하면 IText는 다른 페이지를 추가합니다. 페이지는 62 x 75mm입니다.
나는 종이를 낭비하지 않도록 텍스트의 양을 기준으로 길이를 변경하고 싶습니다. 시도 :
try {
PdfReader reader = new PdfReader(MainActivity.FILE_URI);
while (reader.getNumberOfPages() > 1) {
float pageHeight = document.getPageSize().getHeight();
float pageWidth = document.getPageSize().getWidth();
pageHeight += 50f;
document.setPageSize(new Rectangle(pageWidth, pageHeight));
}
} catch (IOException e) {
e.printStackTrace();
}
하지만 작동하지 않습니다. 페이지 수가 길어지지 않으므로 페이지 수가 동일하게 유지되고 루프가 발생합니다.
누구나 해결책을 알고 계십니까?
사용 가능한 페이지 수에 맞게 인쇄되는 텍스트의 크기를 고르게 변경하거나 올바른 크기로 인쇄 할 용지를 변경 하시겠습니까? – Steven
좋은 질문입니다. 나는이 반론에 대한 답이 없으면 작전에 응답 할 수 없다! –
용지를 늘립니다. 프린터는 10 미터 롤을 가지고 있기 때문에 어떤 길이라도 프린트 할 수 있습니다. – Jeroen