
Java--PDF에서 회전된 텍스트 그리기
2022-10-19 last update
13 minutes reading programming pdf java api특정 상황에서는 회전된 텍스트가 있는 PDF 문서를 만들어야 할 수 있으며 이 기사에서는 무료 Java API를 사용하여 프로그래밍 방식으로 이 작업을 수행하는 방법을 공유합니다.
사용된 무료 API는 Java용 Free Spire.PDF이며, 제품을 설치하는 방법은 2가지가 있습니다.
방법 1: Download 압축을 풉니다. 그런 다음 Spire.Pdf.jar 파일을 프로젝트에 종속성으로 추가합니다.
방법 2: pom.xml에 다음 구성을 추가하여 jar 종속성을 maven 프로젝트에 직접 추가합니다.
샘플 코드
Java용 무료 Spire.PDF를 사용하면 시계 방향 또는 시계 반대 방향으로 다른 각도로 회전된 텍스트를 그릴 수 있습니다. 전체 샘플 코드는 아래에 나와 있습니다.
설치
사용된 무료 API는 Java용 Free Spire.PDF이며, 제품을 설치하는 방법은 2가지가 있습니다.
방법 1: Download 압축을 풉니다. 그런 다음 Spire.Pdf.jar 파일을 프로젝트에 종속성으로 추가합니다.
방법 2: pom.xml에 다음 구성을 추가하여 jar 종속성을 maven 프로젝트에 직접 추가합니다.
<repositories>
<repository>
<id>com.e-iceblue</id>
<name>e-iceblue</name>
<url>https://repo.e-iceblue.com/nexus/content/groups/public/</url>
</repository>
</repositories>
<dependencies>
<dependency>
<groupId>e-iceblue</groupId>
<artifactId>spire.pdf.free</artifactId>
<version>5.1.0</version>
</dependency>
</dependencies>
샘플 코드
Java용 무료 Spire.PDF를 사용하면 시계 방향 또는 시계 반대 방향으로 다른 각도로 회전된 텍스트를 그릴 수 있습니다. 전체 샘플 코드는 아래에 나와 있습니다.
import com.spire.pdf.*;
import com.spire.pdf.graphics.*;
import java.awt.*;
public class drawRotatedText {
public static void main(String[] args) {
//Create a pdf document
PdfDocument doc = new PdfDocument();
//Add a new page
PdfPageBase page = doc.getPages().add();
//Set text font, size and color
PdfFont font = new PdfFont(PdfFontFamily.Helvetica, 10f);
PdfSolidBrush brush = new PdfSolidBrush(new PdfRGBColor(Color.BLUE));
PdfSolidBrush brush1 = new PdfSolidBrush(new PdfRGBColor(Color.RED));
String text = "Draw Rotated text in PDF";
//Set the text position
page.getCanvas().drawString(text, font, brush, 20, 30);
page.getCanvas().drawString(text, font, brush, 20, 200);
//Save graphics state
PdfGraphicsState state = page.getCanvas().save();
Point point1 = new Point(20, 0);
//Draw the text - transform
page.getCanvas().translateTransform(20, 30);
//Rotate 90 degrees clockwise
page.getCanvas().rotateTransform(90);
page.getCanvas().drawString(text, font, brush1, point1);
//Restore graphics
page.getCanvas().restore(state);
//Redrawing a new text requires initializing a new state
PdfGraphicsState state2 = page.getCanvas().save();
Point point2 = new Point(20, 0);
page.getCanvas().translateTransform(20, 200);
//Rotate 90 degrees counterclockwise
page.getCanvas().rotateTransform(-90);
page.getCanvas().drawString(text, font, brush, point2);
//Redrawing a new text requires initializing a new state
PdfGraphicsState state3 = page.getCanvas().save();
Point point3 = new Point(20, 0);
page.getCanvas().translateTransform(20, 0);
//Rotate 60 degrees clockwise
page.getCanvas().rotateTransform(60);
page.getCanvas().drawString(text, font, brush, point3);
//Redrawing a new text requires initializing a new state
PdfGraphicsState state4 = page.getCanvas().save();
Point point4 = new Point(20, 0);
page.getCanvas().translateTransform(20, 0);
//Rotate 30 degrees counterclockwise
page.getCanvas().rotateTransform(-30);
page.getCanvas().drawString(text, font, brush1, point4);
//Save the result file
doc.saveToFile("drawRotatedText.pdf");
}
}
