논리 구조

논리 구조

태그가 지정된 PDF에는 문서의 의미 계층 구조를 정의하는 논리 구조 트리가 포함됩니다 — 단락, 제목, 표, 그림 및 목록. Aspose.PDF FOSS for .NET은 이 구조를 구축하고 검사하기 위한 TaggedContent API를 제공하며, 이는 PDF/UA 접근성 준수를 위해 필수적입니다.


태그된 콘텐츠에 접근하기

using var doc = new Document();
var tagged = doc.TaggedContent;
tagged.SetTitle("Accessible Document");
tagged.SetLanguage("en-US");

구조 요소 만들기

ITaggedContent는 모든 표준 구조 요소 유형에 대한 팩터리 메서드를 제공합니다. 요소는 AppendChild를 호출하여 트리로 조립됩니다.

var root = tagged.RootElement;

var heading = tagged.CreateHeaderElement(1);
heading.SetText("Chapter 1");
root.AppendChild(heading);

var paragraph = tagged.CreateParagraphElement();
paragraph.SetText("This is the first paragraph.");
root.AppendChild(paragraph);

구조화된 테이블

TableElement는 머리, 본문 및 바닥글 섹션이 있는 접근 가능한 테이블을 생성합니다.

var table = tagged.CreateTableElement();
root.AppendChild(table);

var thead = table.CreateTHead();
var headerRow = thead.CreateTR();
headerRow.CreateTH().SetText("Name");
headerRow.CreateTH().SetText("Value");

var tbody = table.CreateTBody();
var dataRow = tbody.CreateTR();
dataRow.CreateTD().SetText("Width");
dataRow.CreateTD().SetText("612");

삽화 및 도표

IllustrationElement는 구조 트리에서 이미지를 래핑합니다.

var figure = tagged.CreateFigureElement();
figure.SetImage("chart.png");
figure.SetAlternativeText("Sales chart for Q4");
root.AppendChild(figure);

구조 요소 유형

API는 PDF 구조 요소 유형 전체 집합을 지원합니다:

  • 블록 수준: Paragraph, Heading (H1-H6), List, ListItem, Table, BlockQuote, Code
  • 인라인: Span, Link, Annotation, Figure, Formula
  • 그룹화: Division, Article, Section, Part

팁 및 모범 사례

  • PDF/UA 준수를 위해 TaggedContentTitleLanguage을 항상 설정합니다.
  • 구조 트리를 위에서 아래로 구축합니다: 요소를 만든 다음 자식을 추가합니다.
  • 화면 판독기 접근성을 위해 그림 요소에 SetAlternativeText를 사용합니다.
  • 적절한 표 의미론을 위해 표에 THead, TBody, TFoot를 태깅합니다.
  • PDF/UA 준수를 PdfFormatConversionOptions으로 검증합니다(Conversion guide 참조).

일반적인 문제

IssueCauseFix
PDF/UA 검증 실패구조 트리에서 필수 요소가 누락됨모든 콘텐츠에 해당 구조 요소가 있도록 보장
제목 순서가 잘못됨H2가 H1보다 먼저 나타남순차적인 제목 계층 구조를 따름
그림에 대체 텍스트가 없음SetAlternativeText이 호출되지 않음삽화에 항상 대체 텍스트를 제공
표가 화면 판독기에 인식되지 않음THead/TBody 구조 누락전체 표 구조 API 사용

자주 묻는 질문

태그가 지정된 PDF란 무엇입니까?

태그가 지정된 PDF에는 시각적 콘텐츠를 의미 요소(제목, 단락, 표)에 매핑하는 논리 구조 트리가 포함되어 있어 접근성 도구와 콘텐츠 재배치를 가능하게 합니다.

태그가 지정된 PDF는 PDF/UA와 동일합니까?

PDF/UA는 태깅과 추가 접근성 규칙을 요구하는 표준입니다.
태그가 지정된 PDF는 PDF/UA 준수를 위한 전제 조건입니다.

기존 PDF에 태그를 지정할 수 있나요?

TaggedContent API는 처음부터 만든 문서와 가장 잘 작동합니다. 기존 PDF의 경우, Document.TaggedContent를 통해 구조 트리를 검사하십시오.


API 참조 요약

Class / MethodDescription
TaggedContent논리 구조 작업을 위한 진입점
TaggedContent.SetTitle접근성을 위한 문서 제목 설정
TaggedContent.SetLanguage문서 언어 설정
ITaggedContent모든 요소 유형에 대한 팩터리 메서드와 인터페이스
StructureElement모든 구조 요소의 기본 클래스
StructureElement.AppendChild트리에 자식 요소 추가
StructureElement.SetText요소의 텍스트 내용 설정
TableElement접근 가능한 표 구조 요소
TableElement.CreateTHead표 헤더 섹션 생성
TableElement.CreateTBody표 본문 섹션 생성
TableTRElement표 행 요소
TableTRElement.CreateTD데이터 셀 추가
TableTRElement.CreateTH헤더 셀 추가
IllustrationElement그림/일러스트 구조 요소
IllustrationElement.SetImage일러스트에 이미지 첨부

또 보기

 한국어