Java - PDF 문서에서 목록을 만드는 방법
Spire.Pdf.jar를 종속성으로 추가
Maven 프로젝트에서 작업하는 경우 다음을 사용하여 pom.xml 파일에 종속성을 포함할 수 있습니다.
<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>
maven을 사용하지 않는 경우 this location 에서 제공되는 zip 파일에서 필요한 jar 파일을 찾을 수 있습니다. 이 자습서에 제공된 샘플 코드를 실행하려면 모든 jar 파일을 애플리케이션 lib 폴더에 포함합니다.
전제 지식
Java용 Spire.PDF는 PDF 문서에서 정렬된 목록 및 정렬되지 않은 목록과 함께 작동하도록 PdfSortedList 클래스 및 PdfUnsortedList 클래스를 제공합니다. 다음 표에는 이 자습서와 관련된 중요한 클래스, 메서드 및 속성이 나열되어 있습니다.
번호 매기기 목록 만들기
번호 매기기 목록을 만드는 단계는 다음과 같습니다.
다음은 Java용 Spire.PDF를 사용하여 PDF로 번호 매기기 목록을 만드는 코드 스니펫입니다.
import com.spire.pdf.PdfDocument;
import com.spire.pdf.PdfPageBase;
import com.spire.pdf.PdfPageSize;
import com.spire.pdf.graphics.*;
import com.spire.pdf.lists.PdfSortedList;
public class CreateNumberedList {
public static void main(String[] args) {
//Create a PdfDocument object
PdfDocument doc = new PdfDocument();
//Set the margins
PdfMargins margins = new PdfMargins(30);
//Add a page
PdfPageBase page = doc.getPages().add(PdfPageSize.A4, margins);
//Specify the initial coordinate
float x = 0;
float y = 0;
//Draw title
PdfBrush brush = PdfBrushes.getBlack();
PdfFont titleFont = new PdfFont(PdfFontFamily.Times_Roman, 12f, PdfFontStyle.Bold);
String title = "4 Tips to Learn Java Easily";
page.getCanvas().drawString(title, titleFont, brush, x, y);
y = y + (float) titleFont.measureString(title).getHeight();
y = y + 5;
//Draw numbered list
PdfFont listFont = new PdfFont(PdfFontFamily.Times_Roman, 12f, PdfFontStyle.Regular);
String listContent = "Start with basics\n"
+"Make some notes\n"
+"Try with small projects\n"
+"Practice code daily";
PdfSortedList list = new PdfSortedList(listContent);
list.setFont(listFont);
list.setIndent(8);
list.setTextIndent(5);
list.setBrush(brush);
list.draw(page, 0, y);
//Save to file
doc.saveToFile("output/NumberedList.pdf");
}
}
글머리 기호 목록 만들기
글머리 기호 목록을 만드는 단계는 다음과 같습니다.
다음 코드 예제는 Java용 Spire.PDF를 사용하여 글머리 기호 목록을 만드는 방법을 보여줍니다.
import com.spire.pdf.PdfDocument;
import com.spire.pdf.PdfPageBase;
import com.spire.pdf.PdfPageSize;
import com.spire.pdf.graphics.*;
import com.spire.pdf.lists.PdfUnorderedList;
public class CreateBulletedList {
public static void main(String[] args) {
//Create a PdfDocument object
PdfDocument doc = new PdfDocument();
//Set the margin
PdfMargins margin = new PdfMargins(30);
//Add a page
PdfPageBase page = doc.getPages().add(PdfPageSize.A4, margin);
//Specify the initial coordinate
float x = 0;
float y = 0;
//Draw title
PdfBrush brush = PdfBrushes.getBlack();
PdfFont titleFont = new PdfFont(PdfFontFamily.Times_Roman, 12f, PdfFontStyle.Bold);
String title = "Worst Fruit for Weight Loss:";
page.getCanvas().drawString(title, titleFont, brush, x, y);
y = y + (float) titleFont.measureString(title).getHeight();
y = y + 5;
//Draw bullet list
PdfFont listFont = new PdfFont(PdfFontFamily.Times_Roman, 12f, PdfFontStyle.Regular);
String listContent = "Bananas\n"
+"Grapes\n"
+"Pomegranate\n"
+"Apples\n"
+"Blueberries";
PdfUnorderedList list = new PdfUnorderedList(listContent);
list.setFont(listFont);
list.setIndent(8);
list.setTextIndent(5);
list.setBrush(brush);
list.draw(page, 0, y);
//Save to file
doc.saveToFile("output/BulletedList.pdf");
}
}
중첩 목록 만들기
다단계 목록을 만드는 주요 단계는 다음과 같습니다.
다음은 Java용 Spire.PDF를 사용하여 PDF 문서에서 중첩 목록을 만드는 코드 예제를 제공합니다.
import com.spire.pdf.PdfDocument;
import com.spire.pdf.PdfNumberStyle;
import com.spire.pdf.PdfPageBase;
import com.spire.pdf.PdfPageSize;
import com.spire.pdf.graphics.*;
import com.spire.pdf.lists.PdfListItem;
import com.spire.pdf.lists.PdfOrderedMarker;
import com.spire.pdf.lists.PdfSortedList;
import java.awt.*;
import java.awt.geom.Point2D;
public class CreateMultiLevelList {
public static void main(String[] args) {
//Create a PdfDocument object
PdfDocument doc = new PdfDocument();
//Set the margins
PdfMargins margin = new PdfMargins(30);
//Add a page
PdfPageBase page = doc.getPages().add(PdfPageSize.A4, margin);
//Specify the initial coordinate
float x = 0;
float y = 0;
//Create two brushes
PdfBrush blackBrush = PdfBrushes.getBlack();
PdfBrush purpleBrush = PdfBrushes.getPurple();
//Create two fonts
PdfTrueTypeFont titleFont = new PdfTrueTypeFont(new java.awt.Font("Times New Roman", Font.BOLD, 12));
PdfTrueTypeFont listFont = new PdfTrueTypeFont(new java.awt.Font("Calibri Light", Font.PLAIN, 12));
//Draw title
//String title = "XHTML Tutorials/FAQs:";
String title = "Multi Level List:";
page.getCanvas().drawString(title, titleFont, blackBrush, x, y);
y = y + (float) titleFont.measureString(title).getHeight();
y = y + 5;
//Create two ordered makers, which are used to define the number style of sorted list
PdfOrderedMarker marker1 = new PdfOrderedMarker(PdfNumberStyle.Numeric, listFont);
PdfOrderedMarker marker2 = new PdfOrderedMarker(PdfNumberStyle.Numeric, listFont);
//Create a parent list
String parentListContent = "Parent Item 1\n"
+ "Parent Item 2";
PdfSortedList parentList = new PdfSortedList(parentListContent);
parentList.setFont(listFont);
parentList.setIndent(8);
parentList.setBrush(purpleBrush);
parentList.setMarker(marker1);
//Create a sub list - "subList_1"
String subListContent_1 = "Child Item 1-1\n"
+ "Child Item 1-2";
PdfSortedList subList_1 = new PdfSortedList(subListContent_1);
subList_1.setIndent(16);
subList_1.setFont(listFont);
subList_1.setBrush(purpleBrush);
subList_1.setMarker(marker2);
subList_1.setMarkerHierarchy(true);
//Create another sub list -"subList_2"
String subListContent_2 = "Child Item 2-1\n"
+ "Child Item 2-2\n"
+ "Child Item 2-3";
PdfSortedList subList_2 = new PdfSortedList(subListContent_2);
subList_2.setIndent(16);
subList_2.setFont(listFont);
subList_2.setBrush(purpleBrush);
subList_2.setMarker(marker2);
subList_2.setMarkerHierarchy(true);
//Create a sub-sub list - "subSubList"
String subSubListContent = "Child Item 1-1-1\n"
+ "Child Item 1-1-2";
PdfSortedList subSubList = new PdfSortedList(subSubListContent);
subSubList.setIndent(24);
subSubList.setFont(listFont);
subSubList.setBrush(purpleBrush);
subSubList.setMarker(marker2);
subSubList.setMarkerHierarchy(true);
//Set subList_1 as sub list of the first item of parent list
PdfListItem item_1 = parentList.getItems().get(0);
item_1.setSubList(subList_1);
//Set subList_2 as sub list of the second item of parent list
PdfListItem item_2 = parentList.getItems().get(1);
item_2.setSubList(subList_2);
//Set sub-sub list as the sub list of "subList_1"
PdfListItem item_1_1 = subList_1.getItems().get(0);
item_1_1.setSubList(subSubList);
//Draw parent list
PdfTextLayout textLayout = new PdfTextLayout();
textLayout.setBreak(PdfLayoutBreakType.Fit_Page);
textLayout.setLayout(PdfLayoutType.Paginate);
parentList.draw(page,new Point2D.Float(x,y),textLayout);
//Save to file
doc.saveToFile("output/MultiLevelList.pdf");
}
}
Reference
이 문제에 관하여(Java - PDF 문서에서 목록을 만드는 방법), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/alexis92/java-how-to-create-lists-in-a-pdf-document-5do8텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)