0
Apache PDFBox를 사용하여 PDF 파일을 만들려고하는데 내용은 한 줄당 80 자의 일반 텍스트 메시지입니다. PDF를 만들려고 할 때, 공백, _ 및 다른 문자가 줄의 너비가 다르고 텍스트 편집기에서하는 것과 똑같이 형식을 지정할 수 없다는 것을 알았습니다. 누군가 나를 포맷 할 수 있도록 도와 줄 수 있습니까?동일 공백 아파치 PDF 상자의 문자 PDF 생성
import org.apache.pdfbox.pdmodel.PDDocument;
import org.apache.pdfbox.pdmodel.PDDocumentInformation;
import org.apache.pdfbox.pdmodel.PDPage;
import org.apache.pdfbox.pdmodel.PDPageContentStream;
import org.apache.pdfbox.pdmodel.common.PDRectangle;
import org.apache.pdfbox.pdmodel.font.PDType1Font;
public class SampleTest {
public static void main(String[] args) throws Exception {
PDDocument document = new PDDocument();
PDPage page = new PDPage(PDRectangle.A4);
document.addPage(page);
String text = "---------------------------\n" +
"------------ABC------------\n" +
"A B\n" +
"***************************\n" +
"A B C D E F G H I \n" +
"---------------------------";
String[] textArray = text.split("\n");
PDPageContentStream contentStream = new PDPageContentStream(document, page);
contentStream.beginText();
contentStream.setFont(PDType1Font.TIMES_ROMAN, 10);
contentStream.setLeading(4f);
contentStream.newLineAtOffset(40, 750);
for(String line : textArray){
contentStream.showText(line);
contentStream.newLine();
contentStream.newLine();
}
contentStream.endText();
contentStream.close();
document.save("C:\\PDF-Samples\\file.pdf");
document.close();
System.out.println("Done");
}
}
감사를 도움을! 그것은 효과가 있었다. 어떤 프레임 워크가 선을 채우기 위해 내용을 동일하게 배치 할 수 있는지 알고 있습니까? – Raja
텍스트 줄의 크기를 조절한다는 의미입니다. – Raja
해당 프레임 워크가 없습니다. 수학을 사용해야합니다. 즉, 문자열 길이, 선 길이를 얻고 글꼴 크기 (또는 글리프 사이의 공간 크기)를 계산해야합니다. PDFBox는 itext와 달리 다소 낮은 수준입니다. –