Java에서 PDF 문서 내부의 텍스트 회전

PDF는 다양한 운영 체제에서 일관된 레이아웃을 제공하는 플랫폼 간 문서 형식입니다. 연구 논문, 송장 등과 같은 문서를 생성하고 공유하는 데 널리 사용됩니다. 프로그래밍 방식으로 PDF 파일을 생성하는 동안 문서의 레이아웃에 따라 텍스트의 위치와 방향을 변경해야 하는 경우가 많습니다. 이 기사에서는 Java에서 PDF 문서 내에서 텍스트를 회전하는 방법을 보여줍니다.

PDF에서 텍스트를 회전하는 Java API

PDF 파일 내에서 텍스트를 회전하려면 Java용 Aspose.PDF를 사용합니다. 기본 및 고급 PDF 조작 기능을 제공하는 강력한 라이브러리입니다. API를 다운로드하거나 다음 Maven 구성을 사용하여 설치할 수 있습니다.

저장소:

    <id>AsposeJavaAPI</id>
    <name>Aspose Java API</name>
    <url>https://repository.aspose.com/repo/</url>
</repository>

의존:

<dependency>
    <groupId>com.aspose</groupId>
    <artifactId>aspose-pdf</artifactId>
    <version>22.4</version>
</dependency>

Java에서 PDF 내부의 텍스트 회전

PDF 문서 내에서 텍스트를 회전하는 방법에는 여러 가지가 있습니다. 텍스트 조각이나 전체 단락을 회전할 수 있습니다. 이러한 각 텍스트 회전이 어떻게 작동하는지 봅시다.

Java에서 TextFragment를 사용한 PDF 텍스트 회전

다음은 Java를 사용하여 PDF 문서에서 텍스트 조각을 회전하는 단계입니다.

다음 코드 샘플은 Java에서 PDF 문서의 텍스트를 회전하는 방법을 보여줍니다.

// 문서 객체 초기화
Document pdfDocument = new Document();

// 특정 페이지 가져오기
Page pdfPage = pdfDocument.getPages().add();

// 텍스트 조각 만들기
TextFragment textFragment1 = new TextFragment("main text");
textFragment1.setPosition(new Position(100, 600));

// 텍스트 속성 설정
textFragment1.getTextState().setFontSize(12);
textFragment1.getTextState().setFont(FontRepository.findFont("TimesNewRoman"));

// 회전된 텍스트 조각 만들기
TextFragment textFragment2 = new TextFragment("rotated text");
textFragment2.setPosition(new Position(200, 600));
// 텍스트 속성 설정
textFragment2.getTextState().setFontSize(12);
textFragment2.getTextState().setFont(FontRepository.findFont("TimesNewRoman"));
textFragment2.getTextState().setRotation(45);

// 회전된 텍스트 조각 만들기
TextFragment textFragment3 = new TextFragment("rotated text");
textFragment3.setPosition(new Position(300, 600));

// 텍스트 속성 설정
textFragment3.getTextState().setFontSize(12);
textFragment3.getTextState().setFont(FontRepository.findFont("TimesNewRoman"));
textFragment3.getTextState().setRotation(90);

// TextBuilder 객체 생성
TextBuilder textBuilder = new TextBuilder(pdfPage);

// PDF 페이지에 텍스트 조각 추가
textBuilder.appendText(textFragment1);
textBuilder.appendText(textFragment2);
textBuilder.appendText(textFragment3);

// 문서 저장
pdfDocument.save("Rotate_Text_TextFragment.pdf");

산출

Java에서 TextFragment를 사용한 PDF 텍스트 회전

Java에서 TextParagraph를 사용한 PDF 텍스트 회전

새 단락을 만드는 동안 텍스트에 회전을 적용할 수도 있습니다. 이것은 TextParagraph 클래스를 사용하여 달성할 수 있습니다. TextParagraph 클래스를 사용하여 텍스트 회전을 적용하는 단계는 다음과 같습니다.

다음 코드 샘플은 프로그래밍 방식으로 PDF의 단락 내에서 텍스트를 회전하는 방법을 보여줍니다.

// 문서 객체 초기화
Document pdfDocument = new Document();

// 특정 페이지 가져오기
Page pdfPage = (Page) pdfDocument.getPages().add();

// 텍스트 단락 만들기
TextParagraph paragraph = new TextParagraph();
paragraph.setPosition(new Position(200, 600));

// 텍스트 조각 만들기
TextFragment textFragment1 = new TextFragment("rotated text");

// 텍스트 속성 설정
textFragment1.getTextState().setFontSize(12);
textFragment1.getTextState().setFont(FontRepository.findFont("TimesNewRoman"));

// 회전 설정
textFragment1.getTextState().setRotation(45);

// 텍스트 조각 만들기
TextFragment textFragment2 = new TextFragment("main text");

// 텍스트 속성 설정
textFragment2.getTextState().setFontSize(12);
textFragment2.getTextState().setFont(FontRepository.findFont("TimesNewRoman"));

// 텍스트 조각 만들기
TextFragment textFragment3 = new TextFragment("another rotated text");

// 텍스트 속성 설정
textFragment3.getTextState().setFontSize(12);
textFragment3.getTextState().setFont(FontRepository.findFont("TimesNewRoman"));

// 회전 설정
textFragment3.getTextState().setRotation(-45);

// 단락에 텍스트 조각 추가
paragraph.appendLine(textFragment1);
paragraph.appendLine(textFragment2);
paragraph.appendLine(textFragment3);

// TextBuilder 객체 생성
TextBuilder textBuilder = new TextBuilder(pdfPage);

// PDF 페이지에 텍스트 단락 추가
textBuilder.appendParagraph(paragraph);

// 문서 저장
pdfDocument.save("Rotate_Text_TextParagraph.pdf");

산출

Java에서 TextParagraph를 사용한 PDF 텍스트 회전

무료 API 라이선스 받기

임시 라이선스 받기를 통해 Java용 Aspose.PDF를 무료로 사용해 볼 수 있습니다.

결론

이 기사에서는 Java를 사용하여 프로그래밍 방식으로 PDF의 텍스트를 회전하는 방법을 배웠습니다. TextFragment 및 TextParagraph 클래스를 사용하여 텍스트를 회전하는 방법을 다루었습니다. 또한 문서를 사용하여 Aspose.PDF for Java에 대해 자세히 알아볼 수 있습니다. 질문이나 질문이 있는 경우 포럼을 통해 문의할 수 있습니다.

또한보십시오