Java에서 태그가 지정된 PDF 파일 만들기

태그가 지정된 PDF 파일은 태그를 사용하여 문서 내용의 논리적 구조를 정의합니다. 이 유형의 PDF는 보조 기술 및 화면 판독기를 사용하여 읽기 환경을 개선합니다. 이전 게시물에서 Java 애플리케이션에서 프로그래밍 방식으로 PDF 파일을 생성하는 방법을 살펴보았습니다. 이 기사에서는 Java에서 프로그래밍 방식으로 태그가 지정된 PDF 파일을 만드는 방법을 배웁니다.

태그가 지정된 PDF 파일을 만드는 Java API

태그가 지정된 PDF 파일을 생성하려면 Java용 Aspose.PDF를 사용합니다. PDF 생성 및 조작을 위한 인기 있는 API 중 하나입니다. API를 사용하여 간단하고 복잡한 레이아웃의 PDF 파일을 원활하게 생성, 처리 및 변환할 수 있습니다. API를 다운로드하거나 다음 Maven 구성을 사용하여 설치할 수 있습니다.

저장소:

<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>22.4</version>
</dependency>

Java에서 태그가 지정된 PDF 파일 만들기

태그가 지정된 PDF에서 구조 요소를 생성하기 위해 Aspose.PDF for Java는 ITaggedContent 인터페이스를 제공합니다. 따라서 이 인터페이스를 사용하여 Java에서 태그가 지정된 PDF 파일을 만드는 방법을 살펴보겠습니다.

다음 코드 샘플은 Java에서 태그가 지정된 PDF를 만드는 방법을 보여줍니다.

// 새 문서 만들기
Document document = new Document();

// Tagged PDF로 작업할 콘텐츠 가져오기
ITaggedContent taggedContent = document.getTaggedContent();
StructureElement rootElement = taggedContent.getRootElement();
            
// 문서의 제목 및 언어 설정
taggedContent.setTitle("Tagged Pdf Document");
taggedContent.setLanguage("en-US");

// 헤더 추가
HeaderElement mainHeader = taggedContent.createHeaderElement();
mainHeader.setText("Main Header");

// 단락 추가
ParagraphElement paragraphElement = taggedContent.createParagraphElement();
paragraphElement.setText("Lorem ipsum dolor sit amet, consectetur adipiscing elit. " +
"Aenean nec lectus ac sem faucibus imperdiet. Sed ut erat ac magna ullamcorper hendrerit. " +
"Cras pellentesque libero semper, gravida magna sed, luctus leo. Fusce lectus odio, laoreet" +
"nec ullamcorper ut, molestie eu elit. Interdum et malesuada fames ac ante ipsum primis in faucibus." +
"Aliquam lacinia sit amet elit ac consectetur. Donec cursus condimentum ligula, vitae volutpat" +
"sem tristique eget. Nulla in consectetur massa. Vestibulum vitae lobortis ante. Nulla ullamcorper" +
"pellentesque justo rhoncus accumsan. Mauris ornare eu odio non lacinia. Aliquam massa leo, rhoncus" +
"ac iaculis eget, tempus et magna. Sed non consectetur elit. Sed vulputate, quam sed lacinia luctus," +
"ipsum nibh fringilla purus, vitae posuere risus odio id massa. Cras sed venenatis lacus.");

rootElement.appendChild(mainHeader);
rootElement.appendChild(paragraphElement);

// 태그가 지정된 PDF 저장
document.save("tagged-pdf.pdf");

다음은 위 코드 샘플의 출력입니다.

Java에서 태그가 지정된 PDF 파일 만들기

Java에서 중첩 요소가 있는 태그가 있는 PDF 만들기

이전 예에서는 단락이 포함된 태그가 있는 간단한 PDF를 만들었습니다. 이제 태그가 지정된 PDF에 중첩 요소를 추가하는 방법을 살펴보겠습니다. 다음은 이 작업을 수행하는 단계입니다.

다음 코드 샘플은 Java에서 태그가 지정된 PDF에 중첩 요소를 추가하는 방법을 보여줍니다.

// 새 문서 만들기
Document document = new Document();

// Tagged PDF로 작업할 콘텐츠 가져오기
ITaggedContent taggedContent = document.getTaggedContent();
StructureElement rootElement = taggedContent.getRootElement();
            
// 문서의 제목 및 언어 설정
taggedContent.setTitle("Tagged Pdf Document");
taggedContent.setLanguage("en-US");

// 헤더 추가
HeaderElement mainHeader = taggedContent.createHeaderElement();
mainHeader.setText("Main Header");

// 단락 만들기
ParagraphElement paragraphWithQuotes = taggedContent.createParagraphElement();
paragraphWithQuotes.getStructureTextState().setFont(FontRepository.findFont("Calibri"));
paragraphWithQuotes.getStructureTextState().setMarginInfo(new MarginInfo(10, 5, 10, 5));

// 스팬 요소 추가
SpanElement spanElement1 = taggedContent.createSpanElement();
spanElement1.setText("Lorem ipsum dolor sit amet, consectetur adipiscing elit. Aenean nec lectus ac sem faucibus imperdiet. Sed ut erat ac magna ullamcorper hendrerit. Cras pellentesque libero semper, gravida magna sed, luctus leo. Fusce lectus odio, laoreet nec ullamcorper ut, molestie eu elit. Interdum et malesuada fames ac ante ipsum primis in faucibus. Aliquam lacinia sit amet elit ac consectetur. Donec cursus condimentum ligula, vitae volutpat sem tristique eget. Nulla in consectetur massa. Vestibulum vitae lobortis ante. Nulla ullamcorper pellentesque justo rhoncus accumsan. Mauris ornare eu odio non lacinia. Aliquam massa leo, rhoncus ac iaculis eget, tempus et magna. Sed non consectetur elit. ");
QuoteElement quoteElement = taggedContent.createQuoteElement();
quoteElement.setText("Sed vulputate, quam sed lacinia luctus, ipsum nibh fringilla purus, vitae posuere risus odio id massa.");
quoteElement.getStructureTextState().setFontStyle(FontStyles.Bold | FontStyles.Italic);
SpanElement spanElement2 = taggedContent.createSpanElement();
spanElement2.setText(" Sed non consectetur elit.");

// 단락에 추가
paragraphWithQuotes.appendChild(spanElement1);
paragraphWithQuotes.appendChild(quoteElement);
paragraphWithQuotes.appendChild(spanElement2);

rootElement.appendChild(mainHeader);
rootElement.appendChild(paragraphWithQuotes);

// 태그가 지정된 PDF 저장
document.save("tagged-pdf.pdf");

다음 스크린샷은 중첩된 요소가 있는 태그가 지정된 PDF를 보여줍니다.

Java에서 중첩 요소가 있는 태그가 있는 PDF 만들기

태그가 있는 PDF의 텍스트 구조 스타일 지정

글꼴 스타일, 패밀리, 크기 등을 설정하여 태그가 지정된 PDF의 텍스트에 스타일을 적용할 수도 있습니다. 이를 위해 Aspose.PDF for Java를 사용하면 [StructureTextState]를 사용하여 글꼴, 글꼴 크기, 글꼴 스타일 및 전경색을 설정할 수 있습니다. 22 클래스. 다음 코드 샘플은 Java에서 태그가 지정된 PDF에 텍스트 스타일을 적용하는 방법을 보여줍니다.

// 새 문서 만들기
Document document = new Document();

// Tagged PDF로 작업할 콘텐츠 가져오기
ITaggedContent taggedContent = document.getTaggedContent();
StructureElement rootElement = taggedContent.getRootElement();
            
// 문서의 제목 및 언어 설정
taggedContent.setTitle("Tagged Pdf Document");
taggedContent.setLanguage("en-US");

// 헤더 추가
HeaderElement mainHeader = taggedContent.createHeaderElement();
mainHeader.setText("Main Header");

// 단락 만들기
ParagraphElement paragraphWithQuotes = taggedContent.createParagraphElement();
taggedContent.getRootElement().appendChild(paragraphWithQuotes);

// 스타일 설정
paragraphWithQuotes.getStructureTextState().setFontSize(18F);
paragraphWithQuotes.getStructureTextState().setForegroundColor(Color.getRed());
paragraphWithQuotes.getStructureTextState().setFontStyle(FontStyles.Italic);
            
// 텍스트 추가
paragraphWithQuotes.setText("Red italic text.");

// 태그가 지정된 PDF 저장
document.save("tagged-pdf.pdf");

Java에서 태그가 지정된 PDF의 구조 요소 설명

Java용 Aspose.PDF는 구조 요소를 설명하기 위해 IllustrationElement 클래스를 제공합니다. 다음 코드 샘플은 이 클래스를 사용하여 태그가 지정된 PDF의 구조 요소를 설명하는 방법을 보여줍니다.

// 새 문서 만들기
Document document = new Document();

// Tagged PDF로 작업할 콘텐츠 가져오기
ITaggedContent taggedContent = document.getTaggedContent();
StructureElement rootElement = taggedContent.getRootElement();
            
// 문서의 제목 및 언어 설정
taggedContent.setTitle("Tagged Pdf Document");
taggedContent.setLanguage("en-US");

// 일러스트레이션 요소 만들기
IllustrationElement figure1 = taggedContent.createFigureElement();
taggedContent.getRootElement().appendChild(figure1);
figure1.setAlternativeText( "Figure One");
figure1.setTitle("Image 1");
figure1.setTag("Fig1");
figure1.setImage("aspose_pdf.png");

// 태그가 지정된 PDF 저장
document.save("tagged-pdf.pdf");

무료 라이선스 받기

평가 제한 없이 Java용 Aspose.PDF를 사용하려면 무료 임시 라이센스를 얻으십시오.

결론

이 기사에서는 Java에서 태그가 지정된 PDF 파일을 만드는 방법을 배웠습니다. 또한 중첩된 요소를 만들고, 텍스트에 스타일을 적용하고, 태그가 지정된 PDF에서 구조 요소를 프로그래밍 방식으로 설명하는 방법을 살펴보았습니다. 또한 문서를 사용하여 Java PDF API에 대해 자세히 알아볼 수 있습니다. 질문이나 질문이 있는 경우 포럼을 통해 문의할 수 있습니다.

또한보십시오