C#을 이용한 PDF 접근성: PDF/UA 문서 생성, 변환 및 유효성 검사

This article was translated from English: Does it need improvement?
Translated
View the article in English

접근성 관련 법규는 더 이상 .NET 개발자에게 미래의 과제가 아닙니다. 여기서는 마감일이 엄수되어야 하고, 처벌은 법적으로 효력이 있습니다. PDF/UA C# 규정 준수, 접근성 있는 PDF .NET 생성, 섹션 508 PDF C# 적합성 및 WCAG PDF 규정 준수 C# 는 이제 정부, 의료, 교육, 법률 또는 금융 서비스 분야와 관련된 문서 워크플로를 구축하는 모든 팀에게 필수적인 요구 사항입니다. IronPDF는PDF/UA-1및PDF/UA-2표준을 준수하는 PDF 출력을 만들기 위해 태그가 있는 PDF 엔진, SaveAsPdfUARenderHtmlAsPdfUA 메서드, 일괄 변환 기능, 크로스플랫폼 .NET 런타임 지원을 제공합니다. 이것은 레거시 아카이브를 변환하거나 런타임에 HTML에서 접근 가능한 문서를 생성할 때 가능합니다.

요약: 빠른 시작 가이드

이 튜토리얼에서는 규제 맥락부터 구현, 검증 및 대규모 문제 해결에 이르기까지 C#을 사용한 PDF/UA 접근성 구현에 대해 다룹니다.

  • 대상: PDF를 생성, 변환 또는 배포하는 애플리케이션에서 문서 접근성을 담당하는 .NET 개발자, 아키텍트 및 규정 준수 책임자. 여기에는 섹션 508 감사를 준비하는 정부 계약업체, 접근성 있는 보고 파이프라인을 구축하는 SaaS 팀, 그리고 ADA Title II 마감일에 맞춰 문서 개선 프로젝트를 계획하는 Enterprise 아키텍트가 포함됩니다.
  • 구축할 내용: SaveAsPdfUA과 함께 기존 PDF에서PDF/UA-1및PDF/UA-2변환, RenderHtmlAsPdfUA와 함께 접근 가능한 HTML-to-PDF 생성, ConvertToPdfUA을 사용한 메모리 내 변환, 병렬 처리 및 오류 처리를 통한 일괄 보정 파이프라인, veraPDF 및 Matterhorn Protocol을 사용하는 검증 워크플로우.
  • 지원 환경: .NET 6 이상, .NET Framework 4.6.2 이상, .NET 기준 2.0. Windows, Linux, macOS, Docker, Azure, AWS. 모든 렌더링은 IronPDF에 내장된 Chromium 엔진을 사용하며 외부 브라우저에 대한 의존성이 없습니다.
  • 이 접근 방식을 사용해야 하는 경우: PDF 파일이 섹션 508, ADA Title II(2026년 4월/2027년 4월 마감일), EU 접근성법(2025년 6월) 또는 조직의 WCAG 2.1 레벨 AA 정책에서 요구하는 접근성 표준을 충족해야 할 때 사용합니다.
  • 기술적으로 중요한 이유: IronPDF의 Chromium 렌더링 엔진은 변환 과정에서 HTML의 의미 구조를 유지하여 제목, 목록, 표 및 대체 텍스트가 PDF 구조 요소에 직접 매핑되는 태그가 지정된 PDF를 생성합니다. 기존 파일에 대한 단일 메서드 SaveAsPdfUA 변환을 결합하면 태그를 수동으로 조작하지 않고도 생성 경로와 보정 경로를 모두 얻을 수 있습니다.

기존 PDF 파일을 PDF/UA 형식으로 두 줄 만에 변환하세요.

  1. NuGet 패키지 관리자를 사용하여 https://www.nuget.org/packages/IronPdf 설치하기

    PM > Install-Package IronPdf
  2. 다음 코드 조각을 복사하여 실행하세요.

    using IronPdf;
    
    PdfDocument pdf = PdfDocument.FromFile("quarterly-report.pdf");
    
    // Convert and save asPDF/UA-1compliant
    pdf.SaveAsPdfUA("quarterly-report-accessible.pdf");
  3. 실제 운영 환경에서 테스트할 수 있도록 배포하세요.

    무료 체험판으로 오늘 프로젝트에서 IronPDF 사용 시작하기

    arrow pointer

IronPDF 를 구매하거나 30일 평가판에 가입한 후에는 애플리케이션 시작 부분에 라이선스 키를 입력하세요.

IronPdf.License.LicenseKey = "KEY";
IronPdf.License.LicenseKey = "KEY";
$vbLabelText   $csharpLabel

!{--010011000100100101000010010100100100000101010010010110010101111101010011010101000100000101010010101000101111101010001010010010010010100000101001100010111110100001001001001100010011110100001101001011--} !{--010011000100100101000010010100100100000101010010010110010101111101001110010101010001110100010101010100010111110100100101001110010100110101010001000001010011000100110001001100010111110100001001001100010011110100001101001011--}

목차


PDF/UA란 무엇이며, 왜 이제 필수 사항이 되었습니까?

PDF 접근성 문제는 예전에는 팀들이 결국에는 해결해야 할 과제였습니다. 권장 사항일 뿐, 필수 요건은 아닙니다. 하지만 지금은 달라졌습니다. 여러 중복되는 규정과 엄격한 기한으로 인해 이제 많은 조직들이 법적 의무를 지게 되었으며, 미준수 시 감사 지적부터 소송에 이르기까지 다양한 결과를 초래할 수 있습니다.

법적 전환점

세 가지 규제 변화가 맞물리면서 PDF/UA 규정 준수가 시급해졌습니다.

섹션 508이 지속적인 요구 사항으로 표시되고, EU 접근성 법이 2025년 6월부터 시행, 대형 관할 지역에 대한 ADA Title II가 2026년 4월, 소형 관할 지역에 대한 ADA Title II가 2027년 4월이라는 PDF 접근성 준수 마감일 타임라인 @@@@

이것들은 이론적인 위험이 아닙니다. 접근성 관련 소송은 매년 증가하고 있으며, 법원은 디지털 문서가 장애인 차별 금지법의 적용 범위에 포함된다는 판결을 일관되게 내리고 있습니다. 접근성을 미래의 문제로 여기는 조직들은 점점 더 수개월 또는 수년 전에 소프트웨어로 생성된 문서와 관련된 불만, 감사 결과 및 소송에 휘말리는 상황에 직면하고 있습니다.

재활법 제508조는 미국에 다음과 같은 사항을 요구했습니다. 연방 기관과 그 계약업체들은 수년간 접근성이 뛰어난 전자 정보 기술을 생산해 왔습니다. PDF 파일은 명시적으로 포함됩니다. 귀하의 소프트웨어가 연방 기관에서 사용하거나 연방 기관을 대신하여 사용하는 문서를 생성하는 경우, 해당 문서에 대한 접근이 허용되어야 합니다. 법무부는 민원을 조사하고 법규를 준수하지 않는 조직에 대해 강제 조치를 취합니다.

ADA 제2조는 접근성 관련 의무를 주 정부 및 지방 정부로 확대합니다. 법무부가 2024년에 발표한 최종 규칙은 인구 5만 명 이상 기업의 경우 2026년 4월, 그보다 작은 기업의 경우 2027년 4월을 준수 기한으로 설정했습니다. 적용 범위는 광범위합니다. 정부 웹사이트에 게시되거나 이메일을 통해 배포되거나 민원인용 애플리케이션을 통해 생성되는 모든 PDF 파일은 WCAG 2.1 레벨 AA를 충족해야 합니다. 여기에는 회의 안건, 예산 문서, 허가 신청서, 법원 기록, 구역 지정 지도, 시의회 회의록 등 다양한 유형의 문서가 포함됩니다.

유럽 ​​접근성법(EAA)은 2025년 6월에 발효되었으며, EU에서 판매되는 제품 및 서비스가 접근성 요건을 충족하도록 요구합니다. EU 고객에게 서비스를 제공하는 소프트웨어 회사의 경우, 애플리케이션이 생성하는 문서에 대한 접근성이 확보되어야 합니다. 이는 정부에만 국한된 것이 아닙니다. 이는 광범위한 범주에 걸쳐 민간 부문의 제품 및 서비스에 적용됩니다.

PDF/UA에 실제로 필요한 것은 무엇일까요?

PDF/UA(ISO 14289)는 보조 기술이 PDF 파일을 안정적으로 처리하기 위해 충족해야 하는 기술적 요구 사항을 정의합니다. 규정을 준수하는 문서는 다음 사항을 포함해야 합니다.

완전한 태그 구조. 모든 의미 있는 콘텐츠는 표준 PDF 태그를 사용하여 논리적 구조 트리에 표현되어야 합니다: 제목은 <h1>에서 <h6>까지, 단락은 <p>, 데이터 테이블은 <Table>, 이미지는 <Figure>, 리스트는 <l>. 순전히 장식적인 콘텐츠는 화면 낭독기가 건너뛸 수 있도록 아티팩트로 표시해야 합니다.

올바른 읽기 순서. 태그 트리는 페이지에 나타나는 시각적 순서가 아니라 콘텐츠를 읽어야 하는 논리적 순서를 반영해야 합니다. 여러 열로 구성된 레이아웃이나 사이드바가 있는 문서의 경우, 이러한 차이점은 매우 중요합니다.

텍스트가 아닌 콘텐츠에 대한 대체 텍스트. 정보를 전달하는 모든 이미지, 차트, 다이어그램에는 <Figure> 태그에 alt 텍스트가 첨부되어야 합니다. 장식용 이미지는 유물로 표시해야 합니다.

올바른 메타데이터. 문서에는 자연어(예: 영어의 경우 "en")를 명시하고, 의미 있는 제목을 포함하며, XMP 메타데이터에 PDF/UA 식별자를 포함해야 합니다.

유니코드 매핑이 포함된 글꼴. 모든 글꼴이 포함되어 있어야 하며, 텍스트를 정확하게 추출하고 소리 내어 읽을 수 있도록 유니코드 문자 매핑(ToUnicode CMap)이 있어야 합니다.

PDF/UA와 WCAG: 두 표준의 상호 작용 방식

개발자들은 PDF/UA를 목표로 해야 할지, 아니면 WCAG를 목표로 해야 할지 자주 묻습니다. 정답은 둘 다입니다. 왜냐하면 서로 다른 계층에서 작동하기 때문입니다.

WCAG(웹 콘텐츠 접근성 지침)는 웹 콘텐츠의 접근성 원칙과 성공 기준을 정의합니다. 이는 미국 장애인법(ADA) 제2장 508조 및 평등고용기회법(EAA)에서 참조하는 표준입니다. WCAG는 접근성 있는 콘텐츠가 달성해야 할 목표 , 즉 인지 가능성, 조작 가능성, 이해 가능성 및 안정성을 제시합니다.

PDF/UA는 PDF 파일 내에서 이러한 목표를 달성하는 방법을 알려줍니다. 이는 기술 구현 표준입니다. PDF/UA를 충족하는 PDF는 문서 콘텐츠에 적용되는 WCAG 성공 기준을 충족합니다. 두 기준은 서로 경쟁하는 것이 아니라 상호 보완적입니다. 실제로 워크플로에서 태그가 지정되고 구조가 잘 짜여진 PDF 파일이 생성되어 PDF/UA 유효성 검사를 통과한다면 WCAG 규정 준수에도 유리한 위치에 있다고 볼 수 있습니다.

소급 적용 요건

조직들이 간과하기 쉬운 한 가지 사실은 이러한 규정이 새로운 문서에만 적용되는 것이 아니라는 점입니다. 웹사이트에 게시되었거나 애플리케이션을 통해 배포된 기존 PDF 파일도 수정이 필요할 수 있습니다. ADA 제2조는 주 및 지방 정부가 발행하는 웹 콘텐츠(PDF 포함)가 WCAG 2.1 레벨 AA를 충족해야 한다고 규정합니다. 기존 문서라고 해서 무조건 면제되는 것은 아닙니다.

이러한 이유로 프로그램 방식 변환 도구가 필수적입니다. 수천 개의 PDF 파일을 수동으로 수정하는 것은 현실적으로 불가능합니다. 일괄 처리 패턴에 대해서는 이 튜토리얼 후반부에서 다루겠습니다.


PDF/UA 버전의 차이점은 무엇인가요?

PDF/UA-1(ISO 14289-1, PDF 1.7 기반)

PDF/UA-1은 2012년에 발표되었으며 현재까지 가장 널리 채택된 표준 버전입니다. 이 표준은 PDF 1.7 사양을 기반으로 하며, 태그가 지정된 PDF 구조, 메타데이터, 글꼴 및 보조 기술 호환성에 대한 포괄적인 요구 사항 세트를 정의합니다. veraPDF 및 Adobe Acrobat의 접근성 검사기를 포함한 대부분의 유효성 검사 도구는 PDF/UA-1을 주요 대상으로 지원합니다.

새로운 접근성 프로젝트를 시작하고 기존 도구 및 워크플로와의 폭넓은 호환성이 필요한 경우 PDF/UA-1이 안전한 기본 옵션입니다. 이는 미국 장애인법(ADA) 제2장 508조 및 유럽연합 접근성법의 요건을 충족합니다.

PDF/UA-2(ISO 14289-2:2024, PDF 2.0 기반)

PDF/UA-2는 2024년에 발표되었으며 상당한 업데이트를 포함합니다. PDF 2.0 사양(ISO 32000-2:2020)을 기반으로 구축된 이 버전은 주석, 양식 필드, 멀티미디어 콘텐츠 및 복잡한 문서 구조를 포함한 최신 PDF 기능을 개선하여 처리합니다. PDF/UA-2는 또한 진화하는 웹 접근성 표준과의 더 나은 조화를 제공합니다.

IronPDF 두 가지 버전을 모두 지원합니다. 아래 코드 예제에서 보여드리겠지만, 내보낼 때 어떤 버전을 대상으로 할지 지정할 수 있습니다.

WTPDF(Well-Tagged PDF)와 그 관련성

WTPDF라는 용어를 접할 수도 있는데, 이는 Well-Tagged PDF의 약자입니다. PDF 협회에서 발행한 WTPDF는 올바르게 태그된 PDF를 만드는 방법을 명확히 설명하는 기술 지침 모음입니다. WTPDF는 별도의 표준이 아니라PDF/UA-2및 PDF 2.0의 실용적인 보완 표준입니다. WTPDF는 PDF/UA 사양 자체에서 정의하는 것 이상으로 태그 사용, 구조 요소 매핑 및 콘텐츠 태깅에 대한 자세한 규칙을 제공합니다. 공식 표준과 함께 제공되는 구현 지침이라고 생각하면 됩니다.

어떤 버전을 대상으로 해야 할까요?

PDF/UA-1 PDF/UA-2
게시됨 2012 2024
기본 사양 PDF 1.7 (ISO 32000-1) PDF 2.0 (ISO 32000-2)
규제 범위 미국 장애인법(ADA) 제2장 제508조, EU 접근성법 기존 규정과 호환됩니다.
검증 도구 veraPDF, Adobe Acrobat Pro, PAC 2024 veraPDF (점점 더 많은 지원)
폼 필드 의미론 기준 향상된 기능 (더욱 풍부한 접근성 메타데이터)
~에 가장 적합함 오늘날 대부분의 프로젝트 PDF 2.0 기능을 필요로 하는 새로운 시스템

오늘날 대부분의 프로젝트에서 PDF/UA-1은 올바른 선택입니다. 가장 폭넓은 도구 지원, 가장 성숙한 검증 생태계를 갖추고 있으며 모든 현행 규제 요건을 충족합니다. 향상된 폼 필드 의미 체계, 개선된 주석 처리 또는 향후 표준과의 호환성과 같은 PDF 2.0 기능이 특별히 필요한 경우 PDF/UA-2를 선택하십시오.

IronPDF 기본적으로 PDF/UA-1 형식을 사용하며, 원할 때PDF/UA-2형식으로 쉽게 전환할 수 있습니다.


HTML에서 접근성 있는 PDF를 만드는 방법은 무엇인가요?

애플리케이션이 HTML 콘텐츠(보고서, 송장, 명세서, 서신)에서 PDF를 생성하는 경우, 사후에 수정하는 대신 처음부터 접근성을 고려하여 설계할 수 있는 좋은 기회입니다. IronPDF의 RenderHtmlAsPdfUA 메서드는 HTML을 직접 PDF/UA 준수 출력으로 렌더링하며, 결과의 품질은 HTML 입력의 품질에 크게 의존합니다.

접근성을 고려한 HTML 작성하기

접근성 있는 HTML은 접근성 태그가 지정된 PDF 구조로 자연스럽게 변환됩니다. 다음은 가장 중요한 실천 사항입니다.

의미론적 HTML 요소 사용. 제목에는 <h1>에서 <h6>까지, 단락에는 <p>, 리스트에는 <ul><ol>, 데이터 테이블에는 <table><thead>, <tbody>, <th>, 페이지 구조에는 <nav>, <main>, <article>, <section>를 사용하여 콘텐츠를 구조화합니다.

모든 의미 있는 이미지에 대체 텍스트 제공. 모든 <img> 태그에 alt 속성을 사용하세요. 장식적인 이미지는 빈 alt=""를 사용하여 이미지가 아티팩트로 처리되어야 한다는 신호를 보냅니다.

논리적인 제목 계층 유지. <h1> 하나로 시작하고 레벨을 건너뛰지 마세요. <h1>에서 <h3>로 빠르게 전환하는 문서는 PDF 출력에 깨진 제목 트리를 생성합니다.

양식 필드 레이블 지정. HTML에 양식 요소가 포함된 경우 각 입력을 <label> 요소와 for 속성을 사용하여 연결합니다.

문서 언어 설정. <html> 요소에 lang 속성을 포함하세요 (예: <html lang="en">).

RenderHtmlAsPdfUA로 HTML을 PDF/UA로 렌더링하기

다음은 접근성 있는 HTML 문서를 PDF/UA로 직접 렌더링하는 전체 예제입니다.

의미론적 제목, 데이터 테이블, 순서가 지정된 목록 및 대체 텍스트 이미지가 포함된 HTML 문자열을 PDF/UA 규격 문서로 직접 렌더링합니다.

:path=/static-assets/pdf/content-code-examples/tutorials/pdf-accessibility-csharp-pdfua-tutorial/pdfua-render-html.cs
using IronPdf;

ChromePdfRenderer renderer = new ChromePdfRenderer();

string accessibleHtml = @"
<!DOCTYPE html>
<html lang='en'>
<head>
    <meta charset='UTF-8'>
    <title>Quarterly Accessibility Report</title>
    <style>
        body {
            font-family: Arial, sans-serif;
            line-height: 1.6;
            color: #333;
            max-width: 800px;
            margin: 0 auto;
            padding: 20px;
        }
        h1 {
            color: #1a1a1a;
            border-bottom: 2px solid #0066cc;
            padding-bottom: 8px;
        }
        h2 {
            color: #2a2a2a;
            margin-top: 24px;
        }
        table {
            border-collapse: collapse;
            width: 100%;
            margin: 16px 0;
        }
        th, td {
            border: 1px solid #ccc;
            padding: 10px;
            text-align: left;
        }
        th {
            background-color: #f0f0f0;
            font-weight: bold;
        }
        .summary {
            background-color: #f9f9f9;
            padding: 16px;
            border-left: 4px solid #0066cc;
            margin: 16px 0;
        }
    </style>
</head>
<body>
    <h1>Q3 2025 Accessibility Compliance Report</h1>

    <div class='summary'>
        <p>This report summarizes the accessibility remediation progress
        for all public-facing PDF documents across the organization.</p>
    </div>

    <h2>Document Inventory</h2>
    <p>The following table shows the current status of document
    remediation by department.</p>

    <table>
        <thead>
            <tr>
                <th scope='col'>Department</th>
                <th scope='col'>Total Documents</th>
                <th scope='col'>Compliant</th>
                <th scope='col'>Pending</th>
            </tr>
        </thead>
        <tbody>
            <tr>
                <td>Legal</td>
                <td>1,247</td>
                <td>892</td>
                <td>355</td>
            </tr>
            <tr>
                <td>Finance</td>
                <td>3,891</td>
                <td>3,102</td>
                <td>789</td>
            </tr>
            <tr>
                <td>Human Resources</td>
                <td>567</td>
                <td>401</td>
                <td>166</td>
            </tr>
        </tbody>
    </table>

    <h2>Key Findings</h2>
    <p>Three areas require immediate attention before the
    April 2026 deadline:</p>
    <ol>
        <li>Legacy court filing templates lack heading
        structure entirely.</li>
        <li>Financial statement PDFs generated before 2023
        have no tagged content.</li>
        <li>HR onboarding packets contain scanned images
        without OCR text layers.</li>
    </ol>

    <h2>Remediation Timeline</h2>
    <p>The project team recommends prioritizing public-facing
    documents first, followed by internal documents accessed by
    more than 50 employees.</p>

    <img src='timeline-chart.png'
         alt='Gantt chart showing remediation phases: Phase 1
         covers public documents from October through December
         2025, Phase 2 covers internal documents from January
         through March 2026.' />
</body>
</html>";

// Render directly to PDF/UA-compliant output
PdfDocument pdf = renderer.RenderHtmlAsPdfUA(accessibleHtml);

// Set document metadata (required by PDF/UA)
pdf.MetaData.Title  = "Q3 2025 Accessibility Compliance Report";
pdf.MetaData.Author = "Compliance Department";

pdf.SaveAs("accessibility-report-pdfua.pdf");
$vbLabelText   $csharpLabel

산출


보시다시피, 의미론적 HTML 요소(제목, 열 머리글이 있는 데이터 테이블, 순서가 있는 목록 및 대체 텍스트 이미지)는 렌더링된 출력에서 ​​적절한 PDF/UA 구조 태그로 유지됩니다.

변환을 통한 구조 보존

IronPDF Google Chrome 및 Microsoft Edge에 사용되는 것과 동일한 Chromium 렌더링 엔진을 내장하여 사용합니다. 이는 접근성 측면에서 중요한데, 크로뮴은 이미 HTML 의미론을 이해하고 있기 때문입니다. IronPDF HTML을 PDF/UA로 렌더링할 때 HTML 요소를 해당 PDF 태그에 매핑합니다.

<h1>부터 <h6>까지는 <h1>부터 <h6>까지 제목 태그가 됩니다. <p><p> 단락 태그가 됩니다. <table>, <tr>, <th>, <td><Table>, <tr>, <th>, <td> 구조 요소가 됩니다. <ul><ol><l>(리스트)가 되고, <li>(리스트 항목) 자식을 가집니다. <img>는 대체 텍스트가 있는 경우 <Figure>가 되고, /Alt 항목을 가집니다.

HTML 요소(h1, table, ul, alt가 포함된 img)가 해당 PDF 태그 트리 구조(H1, Table, List, Figure)와 어떻게 매핑되는지를 보여주는 HTML에서 PDF/UA 구조 매핑 다이어그램 @@@@

이 매핑은 자동으로 이루어집니다. PDF 태그 트리를 수동으로 구성하거나 구조 요소 코드를 작성할 필요가 없습니다.

접근성을 저해하는 일반적인 HTML 패턴

일반적으로 깔끔한 HTML을 작성하는 개발자조차도 때때로 접근성이 떨어지는 PDF 출력을 생성하는 패턴을 사용하기도 합니다. 다음 사항들을 주의 깊게 살펴보세요:

모든 것을 위한 <div> 사용. 스타일이 없는 <div> 요소로만 구성된 문서는 평면적이고 구조화되지 않은 태그 트리를 생성합니다. 화면 낭독기는 이를 의미 있게 탐색할 수 없습니다. 대신 의미 요소를 사용하세요.

CSS 그리드 또는 flexbox로 테이블 시뮬레이션. CSS를 사용한 시각적 그리드 레이아웃에서 표현된 데이터이지만 실제 <table> 요소를 사용하지 않으면 PDF에 올바른 테이블 태그가 생성되지 않습니다. 콘텐츠가 표 형식의 데이터인 경우 실제 <table>를 사용하세요.

제목 레벨 건너뛰기. <h1>에서 <h3>로 건너뛰면 접근성 검사 도구가 실패로 표시할 제목 계층 구조의 공백이 발생합니다.

대체 텍스트가 없는 이미지. <img> 태그에서 alt 속성이 누락되면 대체 텍스트가 없는 <Figure> 태그가 생성되며, 이는 PDF/UA 위반입니다.

이미지에 포함된 텍스트. HTML에 이미지로 렌더링된 텍스트(표의 스크린샷, 래스터화된 차트 등)가 포함된 경우, 해당 콘텐츠는 화면 낭독기에서 보이지 않습니다. 가능한 한 실제 HTML 텍스트를 사용하고, 나머지 이미지에는 자세한 대체 텍스트를 제공하십시오.


PDF/UA-1과PDF/UA-2중에서 어떻게 선택해야 할까요?

기본 출력 형식(PDF/UA-1)

IronPDF 기본적으로PDF/UA-1형식의 출력 파일을 생성합니다. PDF/UA-2를 대상으로 해야 할 특별한 이유가 없다면 기본 설정을 그대로 사용하세요.

:path=/static-assets/pdf/content-code-examples/tutorials/pdf-accessibility-csharp-pdfua-tutorial/pdfua-default-output.cs
using IronPdf;

PdfDocument pdf = PdfDocument.FromFile("standard-report.pdf");

// Default: saves as PDF/UA-1
pdf.SaveAsPdfUA("accessible-report.pdf");
$vbLabelText   $csharpLabel

산출


이제 동일한 보고서가PDF/UA-1규격을 준수하며, 완전한 태그 구조와 ISO 14289-1 식별자가 XMP 메타데이터에 포함되어 있습니다.

버전 매개변수를 포함하여PDF/UA-2형식으로 내보내기

PDF/UA-2 형식이 필요한 경우 버전 매개변수를 지정하십시오.

:path=/static-assets/pdf/content-code-examples/tutorials/pdf-accessibility-csharp-pdfua-tutorial/pdfua-export-pdfua2.cs
using IronPdf;

PdfDocument pdf = PdfDocument.FromFile("modern-form.pdf");

// Export as PDF/UA-2 (based on PDF 2.0)
pdf.SaveAsPdfUA("accessible-form-ua2.pdf", PdfUAVersions.PdfUA2);
$vbLabelText   $csharpLabel

산출


이 양식은 PDF 2.0 내부 구조를 사용하여PDF/UA-2형식으로 내보내지며, 양식 필드에 대한 접근성 메타데이터가 더욱 풍부하게 포함되어 있습니다.

참고해 주세요위의 iframe 미리보기는 문서의 시각적 콘텐츠를 보여줍니다. 파일에 포함된PDF/UA-2적합성 식별자와 ISO 14289-2 XMP 메타데이터가 뷰어에서 표시되지 않습니다. 외부 PDF/UA 유효성 검사기를 사용하여 메타데이터가 있는지 확인하십시오.

메모리에서 변환한 후 별도로 저장할 수도 있습니다.

:path=/static-assets/pdf/content-code-examples/tutorials/pdf-accessibility-csharp-pdfua-tutorial/pdfua-in-memory-pdfua2.cs
using IronPdf;

PdfDocument pdf = PdfDocument.FromFile("complex-document.pdf");

// Convert to PDF/UA-2 in memory
pdf.ConvertToPdfUA(PdfUAVersions.PdfUA2);

// Perform additional modifications
pdf.MetaData.Title = "Complex Document - Accessible Version";

// Save the converted document
pdf.SaveAs("complex-document-accessible.pdf");
$vbLabelText   $csharpLabel

산출


메모리에서 변환된 문서가PDF/UA-2형식으로 저장되었습니다. 참고: PDF/UA-2는 내부적으로 PDF 2.0 형식을 사용합니다. 전환하기 전에 하위 도구가 PDF 2.0을 지원하는지 확인하십시오.

PDF/UA-2는 언제 사용해야 할까요?

PDF/UA-1에서 완벽하게 지원할 수 없는 PDF 2.0 기능을 문서에 사용하는 경우 PDF/UA-2를 고려하십시오. 여기에는 더욱 풍부한 의미 정보를 제공하는 향상된 양식 필드 접근성, 댓글, 마크업 및 검토 워크플로에 대한 개선된 주석 처리, PDF에 포함된 멀티미디어 콘텐츠에 대한 향상된 지원, 그리고 PDF 2.0을 기반으로 구축된 새로운 접근성 표준과의 하위 호환성이 포함됩니다.

오늘날 대부분의 규정 준수 프로젝트에서는 PDF/UA-1이 충분합니다. PDF/UA-2는 기존 도구로 출력을 처리할 필요가 없는 새로운 시스템에 적합한 미래지향적인 선택입니다.


PDF/UA 규정 준수 여부를 어떻게 검증하나요?

PDF/UA 문서를 생성하는 것은 작업의 절반에 불과합니다. 출력 결과가 실제로 기준을 충족하는지 확인해야 합니다. 검증은 개발 과정에서 놓치기 쉬운 문제를 발견하고 규정 준수 감사에 필요한 문서화된 증거를 제공합니다.

veraPDF로 유효성 검사

veraPDF 는 PDF/UA 및 PDF/A 표준에 따라 PDF를 검사하는 무료 오픈 소스 명령줄 및 GUI 도구입니다. 변환된 파일과 ua1 프로파일을 전달하여 확인하십시오:

입력

IronPDF로 생성된 PDF/UA 문서가 유효성 검사를 받을 준비가 되었습니다. 이것은 SaveAsPdfUA의 출력입니다.

verapdf --profile ua1 output-quarterly-report-accessible.pdf
verapdf --profile ua1 output-quarterly-report-accessible.pdf
SHELL

산출

PDF/UA-1 확인을 통과한 veraPDF 적합성 검사기: 136개의 검사, 0개의 오류, output-quarterly-report-accessible.pdf에서 @@@@

136건의 검사 통과, 실패 0건. IronPDF 출력물은 ISO 14289-1 표준을 완벽하게 준수합니다. HTML 보고서에는 모든 마터호른 프로토콜 체크포인트와 그 결과가 나열됩니다. CLI를 CI/CD 파이프라인에 통합하여 프로덕션 환경에 도달하기 전에 회귀 오류를 잡아내세요.

마터호른 프로토콜 이해하기

마터호른 프로토콜은 PDF 협회에서 발표한 테스트 조건 세트로,PDF/UA-1규격 준수 여부를 확인하는 정확한 방법을 정의합니다. 이 시스템은 136가지 특정 고장 조건을 포괄하는 31개의 점검 항목으로 점검을 구성합니다. 각 오류 조건은PDF/UA-1사양의 조항에 해당합니다.

예를 들어, 체크포인트 01에서는 문서 카탈로그에 필수 PDF/UA 식별자가 포함되어 있는지 여부를 다룹니다. 체크포인트 06에서는 모든 글꼴이 유효한 유니코드 매핑으로 포함되어 있는지 확인합니다. 체크포인트 13은 그래픽에 적절한 대체 텍스트가 있는지 여부를 다룹니다.

PDF 문서를 veraPDF 검증기에 투입한 후 PDF/UA 규정 준수를 검사하고, 실패할 경우 체크포인트 01 문서 메타데이터, 06 폰트 내장, 13 대체 텍스트를 포함한 Matterhorn 프로토콜 분석으로 분기된 후 수정 사항 적용 및 재검증 루프를 따릅니다. @@@@

마터호른 프로토콜을 이해하면 검증 결과를 해석하고 수정 사항의 우선순위를 정하는 데 도움이 됩니다. 모든 고장 조건이 동일한 비중을 차지하는 것은 아닙니다. 문서 제목이 누락된 문제는 5분이면 해결할 수 있습니다. 태그가 전혀 없는 문서는 전체 변환이 필요합니다.

일반적인 규정 준수 실패 사례 및 해결 방법

PDF/UA 출력 유효성 검사 시 가장 자주 발생하는 문제점은 다음과 같습니다.

문서 제목이 누락되었습니다. 문서 메타데이터에 제목 항목이 포함되어야 하며, 뷰어 기본 설정 사전에서 창 제목 표시줄에 파일 이름이 아닌 제목을 표시하도록 지정해야 합니다. 이 문제를 해결하려면 저장하기 전에 메타데이터를 설정하세요.

:path=/static-assets/pdf/content-code-examples/tutorials/pdf-accessibility-csharp-pdfua-tutorial/pdfua-fix-document-title.cs
using IronPdf;

PdfDocument pdf = PdfDocument.FromFile("input.pdf");

// Set the required document title
pdf.MetaData.Title = "Annual Budget Report - FY2025";

pdf.SaveAsPdfUA("budget-report-accessible.pdf");
$vbLabelText   $csharpLabel

산출


이제 출력 결과는 문서 제목 검사를 통과하여 파일 이름 대신 PDF 뷰어 창의 제목 표시줄에 제목이 표시됩니다.

그림에 대체 텍스트가 누락되었습니다. 의미를 전달하는 모든 이미지에는 대체 텍스트가 있어야 합니다. 렌더링하기 전에 소스 HTML에 추가하거나 소스 PDF를 직접 수정하십시오.

제목 계층 구조가 잘못되었습니다. 제목 레벨이 누락되었거나 순서가 잘못된 문서는 유효성 검사를 통과하지 못합니다. 변환하기 전에 원본 파일의 제목 구조를 수정하세요.

글꼴이 포함되지 않았거나 유니코드 매핑이 누락되었습니다. 이는 일반적으로 표준이 아닌 글꼴 인코딩을 사용하는 이전 PDF 파일에서 발생합니다. IronPDF 변환 과정에서 글꼴 포함을 처리하지만, 매우 오래되었거나 손상된 원본 파일의 경우 특별한 조치가 필요할 수 있습니다.

글꼴, 색 공간 및 메타데이터 요구 사항

PDF/UA는 자동화 도구가 확인하는 시각적 표현에 대한 특정 요구 사항을 가지고 있습니다. 모든 글꼴은 올바른 ToUnicode 매핑과 함께 포함되어야 합니다. 텍스트는 유니코드 문자로 추출할 수 있어야 합니다. 색 공간은 장치에 독립적이거나 관련 ICC 프로파일이 있어야 합니다. 양식 필드에는 적절한 레이블과 설명이 있어야 합니다.

IronPDF 변환 과정에서 글꼴 포함, 색 공간 및 구조적 요구 사항을 자동으로 처리합니다. 언어 및 메타데이터 는 이 튜토리얼의 예제에서 보여주는 것처럼 코드에서 간단하게 설정할 수 있습니다.

자동화 시스템으로는 걸러낼 수 없는 수동 점검 사항

접근성의 일부 측면은 사람의 검토가 필요합니다. 자동 유효성 검사기는 이미지에 대체 텍스트가 있는지 여부는 알려줄 수 있지만, 대체 텍스트가 실제로 유용한지는 판단할 수 없습니다. 그들은 제목이 존재한다는 사실은 확인할 수 있지만, 제목 텍스트가 뒤따르는 내용을 정확하게 설명하는지는 검증할 수 없습니다.

우선순위가 높은 문서에 대해서는 수동 검토 단계를 워크플로에 포함시키세요. 대체 텍스트가 이미지 내용을 정확하게 설명하는지, 순차적으로 읽었을 때 논리적으로 타당한지, 링크 텍스트가 설명적인지(단순히 "여기를 클릭하세요"가 아닌), 그리고 언어 선언이 문서의 실제 내용과 일치하는지에 집중하세요.

추가 검증 도구

veraPDF는 자동화된 PDF/UA 적합성 검사의 표준이지만, 다른 도구들도 함께 유용하게 사용할 수 있습니다.

Adobe Acrobat Pro에는 도구 > 접근성 > 전체 검사에서 접근성 검사 도구를 사용할 수 있습니다. 이 기능은 개발 과정에서 빠른 시각적 점검에 유용하며 사람이 읽기 쉬운 보고서를 생성합니다. PDF/UA-1의 경우 veraPDF보다 지원 범위가 좁지만 대부분의 팀에서 널리 사용 가능합니다.

PDF 협회에서 제공하는 PAC 2024 (PDF 접근성 검사기, Windows용 무료)는 PDF/UA 및 WCAG 준수 여부 검사와 함께 시각적 태그 트리 검사를 제공합니다. 특히 텍스트 보고서가 아닌 시각적인 도구를 사용하여 읽기 순서와 제목 구조를 검토하는 데 유용합니다.

Acrobat Reader에서는 보기 > 표시/숨기기 > 탐색 창 > 태그를 통해 태그 패널을 직접 열 수 있습니다. 이것은 유효성 검사기는 아니지만, Acrobat Pro 없이도 구조 트리를 빠르게 시각적으로 검사할 수 있게 해줍니다.

가장 신뢰할 수 있는 접근 방식은 자동화된 CI/CD 검사를 위해 VeraPDF를 사용하고, 우선순위가 높은 문서의 경우 Acrobat 또는 PAC에서 수동으로 검토하는 것입니다.


대규모로 배포되는 규정 미준수 PDF 파일을 어떻게 수정하나요?

문서 라이브러리 규모가 큰 조직의 경우 개별 파일 변환은 현실적으로 어렵습니다. 감사 결과 아카이브가 접근성 표준을 충족하지 못하는 것으로 드러나거나, 마감일이 다가오는데 처리해야 할 문서가 수천 건에 달할 경우, 수동 개입을 최소화하면서 대용량 문서를 처리할 수 있는 프로그래밍 방식이 필요합니다.

문서 라이브러리 일괄 변환 (PDF/UA 형식)

IronPDF 는 스레드 안전성을 보장하므로 여러 문서를 병렬로 처리할 수 있습니다. 다음은 동시성 제어, 오류 처리 및 진행 상황 보고 기능을 갖춘 실제 운영 환경에서 사용 가능한 배치 변환 구현 예시 입니다.

:path=/static-assets/pdf/content-code-examples/tutorials/pdf-accessibility-csharp-pdfua-tutorial/pdfua-batch-conversion.cs
using IronPdf;
using System;
using System.Collections.Concurrent;
using System.IO;
using System.Linq;
using System.Threading;
using System.Threading.Tasks;

public class PdfUaBatchConverter
{
    private readonly SemaphoreSlim _semaphore;
    private readonly ConcurrentBag<string> _failures;
    private int _processed;

    public PdfUaBatchConverter(int maxConcurrency = 4)
    {
        _semaphore = new SemaphoreSlim(maxConcurrency);
        _failures  = new ConcurrentBag<string>();
        _processed = 0;
    }

    public async Task ConvertDirectoryAsync(
        string inputDirectory,
        string outputDirectory,
        NaturalLanguages language = NaturalLanguages.English)
    {
        Directory.CreateDirectory(outputDirectory);

        string[] pdfFiles  = Directory.GetFiles(inputDirectory, "*.pdf");
        int      totalFiles = pdfFiles.Length;

        Console.WriteLine($"Starting PDF/UA conversion: {totalFiles} files");
        Console.WriteLine($"Concurrency: {_semaphore.CurrentCount} parallel operations");
        Console.WriteLine($"Language: {language}");
        Console.WriteLine(new string('-', 50));

        var stopwatch = System.Diagnostics.Stopwatch.StartNew();

        var tasks = pdfFiles.Select(async inputPath =>
        {
            await _semaphore.WaitAsync();
            try
            {
                string fileName  = Path.GetFileName(inputPath);
                string outputPath = Path.Combine(outputDirectory, fileName);

                using (PdfDocument pdf = PdfDocument.FromFile(inputPath))
                {
                    pdf.SaveAsPdfUA(outputPath, NaturalLanguage: language);
                }

                int count = Interlocked.Increment(ref _processed);

                // Log progress every 10 files
                if (count % 10 == 0 || count == totalFiles)
                {
                    double rate = count / stopwatch.Elapsed.TotalSeconds;
                    Console.WriteLine(
                        $"  [{count}/{totalFiles}] " +
                        $"{rate:F1} files/sec");
                }
            }
            catch (Exception ex)
            {
                _failures.Add(
                    $"{Path.GetFileName(inputPath)}: {ex.Message}");
                Interlocked.Increment(ref _processed);
            }
            finally
            {
                _semaphore.Release();
            }
        });

        await Task.WhenAll(tasks);

        stopwatch.Stop();

        // Summary report
        Console.WriteLine(new string('-', 50));
        Console.WriteLine($"Completed in {stopwatch.Elapsed.TotalSeconds:F1}s");
        Console.WriteLine(
            $"Succeeded: {totalFiles - _failures.Count}  " +
            $"Failed: {_failures.Count}");

        if (_failures.Any())
        {
            Console.WriteLine("\nFailed files:");
            foreach (string failure in _failures)
                Console.WriteLine($"  - {failure}");

            // Write failures to log file for later review
            File.WriteAllLines(
                Path.Combine(outputDirectory, "_failures.log"),
                _failures);
        }
    }
}

// Usage
var converter = new PdfUaBatchConverter(
    maxConcurrency: Environment.ProcessorCount);

await converter.ConvertDirectoryAsync(
    inputDirectory:  @"C:\Documents\Legacy",
    outputDirectory: @"C:\Documents\Accessible",
    language: NaturalLanguages.English
);
$vbLabelText   $csharpLabel

산출


처리된 파일 하나에 대한PDF/UA-1출력. 패턴은 동시성 제어를 위한 SemaphoreSlim, 파일당 오류 캐칭, 메모리 누수를 방지하기 위한 using 기반 폐기, 파일당 초당 진행률을 사용합니다.

80~90%의 자동 접근성 변환 달성

나머지 10~20%의 규정 준수 작업에는 사람의 판단이 필요합니다. 복잡한 이미지에 대한 의미 있는 대체 텍스트 작성, 특이한 레이아웃에 대한 읽기 순서 수정, 원본에서 제대로 구조화되지 않았던 문서에 대한 의미론적 제목 지정 등이 여기에 포함됩니다. 자동 처리 과정이 완료된 후, 우선순위가 가장 높은 문서에 대해 수동 검토 단계를 계획하십시오.

개선 조치 우선순위 지정

모든 문서가 동일한 규정 준수 위험을 수반하는 것은 아닙니다. 개선 노력을 전략적으로 집중하십시오:

대외적으로 공개되는 문서부터 처리해야 합니다. 웹사이트에 게시되거나 고객에게 배포되거나 정부 기관에 제출되는 모든 문서는 최우선 순위입니다. 이러한 문서들은 불만 제기나 감사로 이어질 가능성이 가장 높은 문서들입니다.

두 번째로 자주 참조되는 내부 문서입니다. 많은 직원이 정기적으로 사용하는 교육 자료, 정책 핸드북 및 인사 양식은 신속하게 정비해야 합니다.

보관용 문서와 사용 빈도가 낮은 문서는 오래 보존됩니다. 접근 빈도가 낮은 오래된 문서는 순차적으로 수정하거나 요청 시 즉시 변환할 수 있습니다.

이러한 우선순위 지정 접근 방식을 통해 가장 눈에 잘 띄는 문서에 대한 규정 준수 진행 상황을 보여주는 동시에 시간이 지남에 따라 보관된 많은 문서를 처리할 수 있습니다.

PDF/UA와 병합, 서명 및 메타데이터 워크플로우 결합

실제 운영 파이프라인에서 PDF/UA 변환은 단독으로 발생하는 경우가 드뭅니다. 다른 문서 작업 과 함께 사용해야 하는 경우가 많습니다. IronPDF 이러한 기능들을 서로 연결하는 것을 지원합니다.

입력

표지 페이지와 재무 보고서라는 두 개의 원본 문서를 각각 PDF/UA 형식으로 변환한 후 하나의 접근성 높은 파일로 병합했습니다.

:path=/static-assets/pdf/content-code-examples/tutorials/pdf-accessibility-csharp-pdfua-tutorial/pdfua-merge-metadata.cs
using IronPdf;

// Load and convert to PDF/UA in memory
PdfDocument report = PdfDocument.FromFile("financial-report.pdf");
report.ConvertToPdfUA();

// Set comprehensive metadata
report.MetaData.Title   = "Annual Financial Report 2025";
report.MetaData.Author  = "Finance Department";
report.MetaData.Subject = "Year-end financial summary and analysis";

// Merge with a cover page (also converted to PDF/UA)
PdfDocument coverPage = PdfDocument.FromFile("cover-page.pdf");
coverPage.ConvertToPdfUA();

PdfDocument finalDocument = PdfDocument.Merge(coverPage, report);

// Save the combined, accessible document
finalDocument.SaveAs("annual-report-final-accessible.pdf");

// Dispose of intermediate documents
report.Dispose();
coverPage.Dispose();
$vbLabelText   $csharpLabel

산출


보시는 바와 같이, 두 원본 문서는 이제 디지털 서명과 포괄적인 메타데이터가 적용된 단일 PDF/UA 호환 파일(표지 다음 재무 보고서)로 결합되었습니다.

참고해 주세요위의 iframe 미리보기는 병합된 문서의 시각적 콘텐츠를 보여줍니다. PDF/UA 적합성 식별자, 디지털 서명 및 내장 메타데이터는 뷰어에서 표시되지 않습니다. 병합된 출력물의 구조적 규정 준수 여부를 확인하려면 외부 PDF/UA 유효성 검사기를 사용하십시오.

PDF/UA 변환은 디지털 서명, 암호 보호 및 PDF/A 아카이브 형식과도 호환됩니다.


실제 PDF/UA 규정 준수 활용 사례는 무엇인가요?

PDF 접근성 요구사항은 모든 분야에서 나타나며, 구체적인 어려움은 산업별로 다릅니다.

정부 기관들은 가장 구체적인 마감 시한에 직면해 있습니다. 미국 장애인법(ADA) 제2조의 적용을 받는 주 및 지방 정부는 2026년 4월과 2027년 4월 마감일을 앞두고 수만 건의 기존 문서(회의 안건, 허가 신청서, 구역 지정 지도 등)를 처리하고 있습니다. 앞서 설명한 일괄 처리 방식은 여기에도 직접 적용할 수 있습니다.

법률 기관은 소송 서류, 변론서, 사건 기록, 계약서, 증거 자료 등 엄청난 양의 PDF 파일을 생성합니다. 문서를 전자적으로 제출하거나 장애가 있는 당사자와 공유할 때는 접근성 요건이 적용됩니다. 문서 관리 시스템의 출력 단계에 PDF/UA 변환 기능을 통합하면 콘텐츠 작성 방식에 관계없이 규정 준수를 보장할 수 있습니다.

고등 교육 기관은 교재, 강의 계획서, 연구 논문, 행정 양식 및 기관 보고서를 작성합니다. 연방 기금을 받는 기관의 경우 섹션 508에 따라, 공공 기관의 경우 ADA Title II에 따라 이러한 문서는 접근 가능해야 합니다. HTML을 PDF/UA로 변환하는 워크플로는 특히 유용한데, 많은 학술 콘텐츠가 웹 콘텐츠에서 시작되거나 템플릿에서 생성되기 때문입니다.

의료기관은 환자 진술서, 보험 설명, 검사 결과 및 교육 자료를 작성하며, 이러한 자료는 섹션 508 및 다양한 주 법률에 따라 접근 가능해야 합니다. 이러한 문서에는 표 형식의 데이터와 차트가 포함되는 경우가 많으므로 표 태그 지정과 이미지 대체 텍스트 사용이 특히 중요합니다.

금융 서비스 회사는 계좌 명세서, 공시 서류, 규제 기관 제출 서류 및 보고서를 작성합니다. 이러한 정보 중 상당수는 고객에게 배포하거나 정부 기관에 제출할 때 접근 가능해야 합니다. 대량 생산으로 인해 일괄 처리가 필수적입니다.


PDF/UA 및 PDF/A 규정을 모두 준수하려면 어떻게 해야 할까요?

보관과 접근성이 모두 필요할 때

PDF/A는 문서가 장기간 동안 보기 쉽고 복제 가능한 상태로 유지되도록 보장하는 아카이브 표준입니다. PDF/UA는 접근성 표준입니다. 일부 조직은 영구적으로 보존 되면서도 접근 가능한 문서, 즉 두 가지 모두를 필요로 합니다. 이는 정부 기록 보관, 법률 문서 보관 및 의료 문서에서 흔히 볼 수 있습니다.

PDF/A-3a 적합성 수준은 특히 보관 적합성과 완전한 접근성(여기서 "a"는 "접근성"을 의미)을 모두 요구합니다. PDF/A-3a를 획득하면 PDF/A 및 PDF/UA 요구 사항을 모두 충족하는 것과 마찬가지입니다.

IronPDF 두 가지 표준을 모두 지원합니다.

:path=/static-assets/pdf/content-code-examples/tutorials/pdf-accessibility-csharp-pdfua-tutorial/pdfua-dual-compliance.cs
using IronPdf;

PdfDocument pdf = PdfDocument.FromFile("government-record.pdf");

// Convert to PDF/UA for accessibility
pdf.ConvertToPdfUA();

// Set required metadata
pdf.MetaData.Title  = "Public Hearing Minutes - January 2025";
pdf.MetaData.Author = "City Clerk's Office";

// Convert to PDF/A for archival compliance
pdf.SaveAsPdfA("government-record-archive.pdf");
$vbLabelText   $csharpLabel

산출


해당 문서는 PDF/A-3a 형식으로 저장되었으며, 이는 보관성(PDF/A) 및 접근성(PDF/UA) 요구 사항을 동시에 충족하는 적합성 수준입니다.

PDF/UA와 디지털 서명의 결합

인증이 필요한 접근성 문서의 경우 PDF/UA 변환과 디지털 서명을 결합할 수 있습니다. 먼저 PDF/UA 변환을 적용한 다음 문서에 서명하십시오.

:path=/static-assets/pdf/content-code-examples/tutorials/pdf-accessibility-csharp-pdfua-tutorial/pdfua-digital-signature.cs
using IronPdf;
using IronPdf.Signing;

PdfDocument pdf = PdfDocument.FromFile("contract.pdf");
pdf.ConvertToPdfUA();

pdf.MetaData.Title = "Service Agreement - Executed Copy";

// Apply a digital signature to the accessible document
var signature = new PdfSignature("certificate.pfx", "password");
pdf.Sign(signature);

pdf.SaveAs("contract-accessible-signed.pdf");
$vbLabelText   $csharpLabel

변화하는 표준에 맞춰 문서를 미래에도 유효하게 만들기

접근성 표준은 계속해서 발전하고 있습니다. WCAG 2.2는 2023년에 발표되었으며, WCAG 3.0 작업이 진행 중입니다. PDF/UA-2는 PDF/UA-1보다 최신 웹 표준에 더 가깝습니다. 지금부터 문서 파이프라인에 PDF/UA 규정 준수를 구축하면 나중에 전면적인 수정 작업을 거치는 대신 표준이 발전함에 따라 업데이트할 수 있는 기반을 마련할 수 있습니다.

접근성이 뛰어난 문서 인프라에 대한 투자는 규정 준수 이상의 이점을 가져다줍니다. 적절하게 태그된 PDF는 검색이 더 용이하고, 모바일 기기에서 레이아웃이 더 잘 조정되며, 텍스트 추출 결과가 더 좋고, 다양한 PDF 뷰어 및 플랫폼에서 더 안정적으로 작동합니다. 접근성은 단순히 법적 요구 사항일 뿐만 아니라, 필수적입니다. 더 나은 엔지니어링입니다.


다음 단계

PDF/UA 규정 준수는 단순히 체크박스 하나만 선택하는 것이 아닙니다. 이는 규제 이해, 올바른 HTML 작성, 프로그래밍 방식 변환, 자동 유효성 검사 및 기존 아카이브의 확장된 수정 작업을 포괄합니다. 하지만 문서 라이브러리가 방대하고 마감 기한이 촉박한 조직이라도 이를 관리할 수 있도록 도와주는 도구와 패턴은 이미 존재합니다. IronPDF는 태그가 있는 PDF 엔진, SaveAsPdfUARenderHtmlAsPdfUA 메서드, 일괄 처리 기능, 크로스 플랫폼 .NET 지원을 제공하여 모든 접근 가능한 PDF .NET 파이프라인의 기초를 형성합니다. 정부 계약을 위한 Section 508 PDF C# 준수가 필요하든, 기업 보고 플랫폼을 위한 WCAG PDF 준수 C#이 필요하든, 엄격한 기한이 있는 문서 수정 프로젝트를 위한 PDF/UA C# 변환이 필요하든, 이 튜토리얼의 패턴은 기반이 되는 프레임워크를 제공합니다.

단일 파일 변환부터 시작하여 SaveAsPdfUA가 무엇을 생성하는지 이해하십시오. veraPDF와 Matterhorn Protocol을 사용하여 출력 결과를 검증하십시오. 의미 요소와 적절한 제목 계층 구조를 사용하는 접근성 높은 HTML 템플릿을 만드세요. 기존 아카이브에 대한 일괄 변환 파이프라인을 사용하여 규모를 확장하십시오. PDF/UA와 PDF/A 아카이빙 규정 준수 , 디지털 서명 , 메타데이터 관리PDF 압축을 결합하여 조직이 직면한 모든 요구 사항을 충족하는 문서 워크플로를 구축하십시오.

더 자세한 내용은 IronPDF PDF/UA 사용법 가이드 에서 API 표면을 자세히 다루고 있으며, PDF/A 아카이빙 튜토리얼에서는 두 표준을 동시에 사용해야 하는 경우 전체 아카이빙 규정 준수 워크플로를 안내합니다.

건축을 시작할 준비가 되셨나요? IronPDF 다운로드 하고 무료 체험판을 사용해 보세요. 이 라이브러리 하나로 단일 파일 접근성 변환부터 Enterprise 규모의 개선 파이프라인까지 모든 것을 처리할 수 있습니다. 구현, 규정 준수 전략 또는 특정 사용 사례에 대한 아키텍처와 관련하여 질문이 있는 경우 엔지니어링 지원 팀에 문의하십시오 . 저희는 규모에 상관없이 모든 팀이 문서 접근성을 제대로 확보할 수 있도록 지원해 왔으며, 여러분도 마찬가지로 도와드릴 수 있습니다.

자주 묻는 질문

PDF/UA란 무엇이며 왜 중요한가요?

PDF/UA(범용 접근성)는 장애인이 PDF 콘텐츠에 접근하고 상호 작용할 수 있도록 보장하는 접근성 있는 PDF 문서에 대한 ISO 표준입니다. 이는 섹션 508 및 EU 접근성법과 같은 접근성 규정을 준수하는 데 필수적입니다.

C#을 사용하여 기존 PDF 파일을 PDF/UA 형식으로 변환하려면 어떻게 해야 하나요?

IronPDF의 SaveAsPdfUA 메서드를 사용하면 기존 PDF를 C#에서 PDF/UA로 변환할 수 있습니다. 이 메서드는 필요한 태그와 구조를 포함시켜 문서가 접근성 표준을 충족하도록 보장합니다.

IronPDF HTML을 접근성 있는 PDF/UA로 변환하기 위해 어떤 도구를 제공합니까?

IronPDF 개발자가 HTML 콘텐츠를 PDF/UA 접근성 표준을 준수하는 태그가 지정된 PDF로 변환할 수 있도록 하는 RenderHtmlAsPdfUA 메서드를 제공합니다.

IronPDF 대규모 PDF/사용자 에이전트(UA) 개선 프로젝트를 처리할 수 있습니까?

네, IronPDF 병렬 처리 파이프라인을 통해 대용량 문서 아카이브를 일괄적으로 수정할 수 있으므로 광범위한 PDF/UA 수정 프로젝트를 효율적으로 처리할 수 있습니다.

IronPDF 사용하여 PDF/UA 규정 준수를 어떻게 검증하나요?

IronPDF Matterhorn 프로토콜에 대한 PDF/UA 규정 준수 여부를 검증하는 데 도움이 되는 도구인 veraPDF와 통합되어 문서가 접근성 표준을 충족하도록 보장합니다.

IronPDF 어떤 일반적인 PDF/UA 규정 준수 문제를 해결하는 데 도움을 줄 수 있습니까?

IronPDF PDF/UA 문서에서 문서 제목 누락, 글꼴 포함 누락, 제목 계층 구조 오류와 같은 일반적인 규정 준수 문제를 해결하는 데 도움을 줄 수 있습니다.

IronPDF 다양한 .NET 환경과 호환됩니까?

네, IronPDF 는 .NET 6 이상, .NET Framework 4.6.2 이상, .NET Standard 2.0과 호환되며 Windows, Linux, macOS, Docker, Azure 및 AWS에 배포를 지원합니다.

IronPDF 사용하여 PDF/UA 문서에 디지털 서명을 어떻게 결합할 수 있습니까?

IronPDF 사용하면 PDF/UA 규격 문서를 디지털 서명과 결합하여 문서 보안 및 규정 준수를 강화할 수 있습니다.

2026년 4월과 2027년 4월의 ADA Title II 마감일은 어떤 의미를 갖습니까?

이 마감일은 특정 공개 애플리케이션이 ADA Title II에 따른 업데이트된 접근성 표준을 준수해야 하는 시점을 나타내며, 따라서 개발자가 PDF가 이러한 요구 사항을 충족하도록 하려면 IronPDF 와 같은 도구가 필수적입니다.

IronPDF PDF/UA 문서의 메타데이터 워크플로우를 지원할 수 있습니까?

네, IronPDF 메타데이터 워크플로우를 PDF/UA 문서에 통합하는 것을 지원하며, 이는 접근성 및 규정 준수를 유지하는 데 필수적입니다.

커티스 차우
기술 문서 작성자

커티스 차우는 칼턴 대학교에서 컴퓨터 과학 학사 학위를 취득했으며, Node.js, TypeScript, JavaScript, React를 전문으로 하는 프론트엔드 개발자입니다. 직관적이고 미적으로 뛰어난 사용자 인터페이스를 만드는 데 열정을 가진 그는 최신 프레임워크를 활용하고, 잘 구성되고 시각적으로 매력적인 매뉴얼을 제작하는 것을 즐깁니다.

커티스는 개발 분야 외에도 사물 인터넷(IoT)에 깊은 관심을 가지고 있으며, 하드웨어와 소프트웨어를 통합하는 혁신적인 방법을 연구합니다. 여가 시간에는 게임을 즐기거나 디스코드 봇을 만들면서 기술에 대한 애정과 창의성을 결합합니다.

시작할 준비 되셨나요?
Nuget 다운로드 17,803,474 | 버전: 2026.3 방금 출시되었습니다
Still Scrolling Icon

아직도 스크롤하고 계신가요?

빠른 증거를 원하시나요? PM > Install-Package IronPdf
샘플을 실행하세요 HTML이 PDF로 변환되는 것을 지켜보세요.