잡지, 신문, 연구 기사 등과 같은 다양한 유형의 출판물은 다중 열 페이지 레이아웃을 사용합니다. 프로그래밍 방식으로 이러한 문서를 생성하는 동안 다중 열 PDF를 생성해야 할 수도 있습니다. 이러한 경우 이 문서에서는 Java를 사용하여 다중 열 PDF 파일을 만드는 방법을 다룹니다.
Java에서 다중 열 PDF를 생성하는 API
Aspose.PDF for Java는 처음부터 간단한 PDF 파일과 복잡한 PDF 파일을 모두 만들 수 있는 기능이 풍부한 PDF 조작 API입니다. 이 API를 사용하여 Java를 사용하여 여러 열 PDF 파일을 만듭니다. API의 JAR을 다운로드하거나 다음 Maven 구성을 사용하여 Java 애플리케이션 내에 설치할 수 있습니다.
<repository>
<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>21.9</version>
</dependency>
Java에서 다중 열 PDF 만들기
Aspose.PDF for Java를 사용하면 여러 열로 구성된 PDF 파일을 훨씬 쉽게 만들 수 있습니다. 이를 달성하기 위한 단계는 다음과 같습니다.
- 먼저 새 Document 개체를 만듭니다.
- 그런 다음 Document.getPageInfo().getMargin().setLeft() 및 Document.getPageInfo().getMargin().setRight() 메서드를 사용하여 페이지 여백을 설정합니다.
- Document.getPages().add() 메서드를 사용하여 PDF에 새 페이지를 추가하고 Page 개체에 대한 참조를 가져옵니다.
- 새 Graph 객체를 만들고 Page.getParagraphs().add() 메서드를 사용하여 단락 컬렉션에 추가합니다.
- 새 Line을 만들고 Graph.getShapes() 컬렉션에 추가합니다.
- Page.getParagraphs().add() 메서드를 사용하여 페이지에 제목 텍스트를 추가합니다.
- 새 FloatingBox를 만들고 열 수, 열 간격 및 열 너비를 지정합니다.
- 다른 그래프 개체를 만듭니다.
- Graph.getShapes() 컬렉션에 새 Line을 추가합니다.
- FloatingBox.getParagraphs() 컬렉션에 그래프를 추가합니다.
- 새 TextFragment를 만들고 FloatingBox.getParagraphs() 컬렉션에 추가합니다.
- Page.getParagraphs().add() 메서드를 사용하여 페이지에 FloatingBox를 추가합니다.
- 마지막으로 Document.save(string) 메소드를 사용하여 PDF 파일을 저장합니다.
다음 코드 샘플은 Java를 사용하여 2열 PDF를 만드는 방법을 보여줍니다.
// 새 문서 만들기
Document doc = new Document();
// PDF 파일의 왼쪽 여백 정보 지정
doc.getPageInfo().getMargin().setLeft(40);
// PDF 파일의 오른쪽 여백 정보 지정
doc.getPageInfo().getMargin().setRight(40);
// 새 페이지 추가 및 참조 가져오기
Page page = doc.getPages().add();
// 새 그래프 만들기
com.aspose.pdf.drawing.Graph graph1 = new com.aspose.pdf.drawing.Graph(500, 2);
// paraphraphs 컬렉션에 그래프 추가
page.getParagraphs().add(graph1);
// 그래프에 선 추가
float[] posArr = new float[] { 1, 2, 500, 2 };
com.aspose.pdf.drawing.Line l1 = new com.aspose.pdf.drawing.Line(posArr);
graph1.getShapes().add(l1);
// HTML 콘텐츠가 포함된 텍스트로 문자열 변수 생성
String s = "<span style=\"font-family: \"Times New Roman\", Times, serif;\" font-size=\"14pt\" \">"
+"<strong> How to Steer Clear of money scams</<strong> </span>";
// 텍스트 조각을 만들고 HTML 텍스트로 초기화
HtmlFragment heading_text = new HtmlFragment(s);
page.getParagraphs().add(heading_text);
// 부동 상자 만들기
FloatingBox box = new FloatingBox();
// 섹션에 열 추가
box.getColumnInfo().setColumnCount(2);
// 열 사이의 간격 설정
box.getColumnInfo().setColumnSpacing("5");
// 열 너비 설정
box.getColumnInfo().setColumnWidths("105 105");
// 새 텍스트 조각 만들기
TextFragment text1 = new TextFragment("By A Googler (The Official Google Blog)");
text1.getTextState().setFontSize (8);
text1.getTextState().setLineSpacing (2);
text1.getTextState().setFontSize (10);
text1.getTextState().setFontStyle (FontStyles.Italic);
// 단락에 텍스트 추가
box.getParagraphs().add(text1);
// 선을 그리는 그래프 개체 만들기
com.aspose.pdf.drawing.Graph graph2 = new com.aspose.pdf.drawing.Graph(50, 10);
// 선의 좌표 지정
float[] posArr2 = new float[] { 1, 10, 100, 10 };
// 라인 생성
com.aspose.pdf.drawing.Line l2 = new com.aspose.pdf.drawing.Line(posArr2);
// 그래프에 선 추가
graph2.getShapes().add(l2);
// 섹션 개체의 단락 컬렉션에 줄 추가
box.getParagraphs().add(graph2);
// 새 텍스트 조각 만들기 to set content of the document
TextFragment text2 = new TextFragment("Sed augue tortor, sodales id, luctus et, pulvinar ut, eros. Suspendisse vel dolor. "
+"Sed quam. Curabitur ut massa vitae eros euismod aliquam. Pellentesque sit amet elit. Vestibulum interdum pellentesque augue."
+"Cras mollis arcu sit amet purus. Donec augue. Nam mollis tortor a elit. Nulla viverra nisl vel mauris. Vivamus sapien. nascetur "
+"ridiculus mus. Nam justo lorem, aliquam luctus, sodales et, semper sed, enim Nam justo lorem, aliquam luctus, sodales et,nAenean "
+"posuere ante ut neque. Morbi sollicitudin congue felis. Praesent turpis diam, iaculis sed, pharetra non, mollis ac, mauris. "
+"Phasellus nisi ipsum, pretium vitae, tempor sed, molestie eu, dui. Duis lacus purus, tristique ut, iaculis cursus, tincidunt vitae, "
+"risus. Sed commodo. *** sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Nam justo lorem, aliquam "
+"luctus, sodales et, semper sed, enim Nam justo lorem, aliquam luctus, sodales et, semper sed, enim Nam justo lorem, aliquam luctus, "
+"sodales et, semper sed, enim nAenean posuere ante ut neque. Morbi sollicitudin congue felis. Praesent turpis diam, iaculis sed, "
+"pharetra non, mollis ac, mauris. Phasellus nisi ipsum, pretium vitae, tempor sed, molestie eu, dui. Duis lacus purus, tristique ut,"
+"iaculis cursus, tincidunt vitae, risus. Sed commodo. *** sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus "
+"mus. Sed urna. . Duis convallis ultrices nisi. Maecenas non ligula. Nunc nibh est, tincidunt in, placerat sit amet, vestibulum a, nulla."
+"Praesent porttitor turpis eleifend ante. Morbi sodales.nAenean posuere ante ut neque. Morbi sollicitudin congue felis. Praesent turpis diam,"
+"iaculis sed, pharetra non, mollis ac, mauris. Phasellus nisi ipsum, pretium vitae, tempor sed, molestie eu, dui. Duis lacus purus, tristique"
+"ut, iaculis cursus, tincidunt vitae, risus. Sed commodo. *** sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus."
+"Sed urna. . Duis convallis ultrices nisi. Maecenas non ligula. Nunc nibh est, tincidunt in, placerat sit amet, vestibulum a, nulla. "
+"Praesent porttitor turpis eleifend ante. Morbi sodales.");
// 부동 상자에 텍스트 추가
box.getParagraphs().add(text2);
// 페이지에 부동 상자 추가
page.getParagraphs().add(box);
// PDF 파일 저장
doc.save("multicolumn-pdf.pdf");
다음은 Aspose.PDF for Java에서 생성된 다중 열 PDF의 스크린샷입니다.
무료 라이선스 받기
임시 라이선스를 사용하여 평가 제한 없이 Java용 Aspose.PDF를 사용할 수 있습니다.
결론
PDF 문서의 다중 열 레이아웃은 다양한 유형의 출판물에 사용됩니다. 이 게시물에서는 Java를 사용하여 처음부터 다중 열 PDF 파일을 만드는 방법을 배웠습니다. 또한 문서를 사용하여 Java PDF API에 대해 자세히 알아볼 수 있습니다. 질문이 있는 경우 포럼을 통해 자유롭게 질문하십시오.