C#에서 PDF 생성에 사용자 정의 하이픈 삽입하는 방법
C# PDF 생성에서의 사용자 정의 하이픈 삽입은 좁은 열, 송장, 계약 및 다언어 보고서에서 어색한 간격, 단어 넘침, 부적절한 텍스트 줄 바꿈 등을 해결하는 데 도움이 됩니다. PDF 렌더러가 올바른 하이픈 패턴을 적용하지 않으면, 정렬된 텍스트가 큰 간격을 남기거나 줄을 넘어 부적절하게 구분될 수 있습니다.
IronPDF에서는 HTML에서 PDF로 렌더링할 때 Word 스타일의 문서 객체 모델을 사용하는 대신 Chromium 엔진을 통해 하이픈이 처리됩니다. CSS hyphens: auto 속성은 렌더러가 유효한 음절 경계에서 단어를 끊을 수 있도록 하며, IronPDF는 PDF 생성 시 해당 동작을 적용합니다. CustomHyphenation 속성은 ChromePdfRenderOptions에서 어떤 하이픈 연결 패턴을 사용할지 제어합니다.
패턴 파일은 TeX 형식을 사용하며 로컬 파일 경로 또는 원격 URL에서 로드될 수 있습니다. 이로 인해 다양한 언어 및 문서 레이아웃에 맞춰 사용자 정의 하이픈 규칙을 정의할 수 있으며, 최종 PDF에서 더욱 세부적으로 단어 끊기를 제어할 수 있습니다.
이 가이드에서는 로컬 및 원격 패턴 로딩, 대체 동작, 제한 사항, 오류 처리, 캐싱을 포함하여 C#에서 CustomHyphenationDefinitions API를 사용하는 방법을 설명합니다.
빠른 시작
-
NuGet 패키지 관리자를 사용하여 https://www.nuget.org/packages/IronPdf 설치하기
PM > Install-Package IronPdf -
다음 코드 조각을 복사하여 실행하세요.
using IronPdf; // Create renderer and assign custom hyphenation patterns from a remote URL var renderer = new ChromePdfRenderer(); renderer.RenderingOptions.CustomHyphenation = new CustomHyphenationDefinitions { PatternSource = "https://raw.githubusercontent.com/hyphenation/tex-hyphen/master/hyph-utf8/tex/generic/hyph-utf8/patterns/txt/hyph-en-us.pat.txt", ExceptionSource = "https://raw.githubusercontent.com/hyphenation/tex-hyphen/master/hyph-utf8/tex/generic/hyph-utf8/patterns/txt/hyph-en-us.hyp.txt" }; // Render HTML with CSS hyphens:auto to trigger word breaking var pdf = renderer.RenderHtmlAsPdf("<div style='text-align:justify; hyphens:auto; width:120px;'>Supercalifragilisticexpialidocious</div>"); pdf.SaveAs("hyphenated.pdf"); -
실제 운영 환경에서 테스트할 수 있도록 배포하세요.
무료 체험판으로 오늘 프로젝트에서 IronPDF 사용 시작하기
최소 워크플로우
- IronPDF NuGet 패키지 설치
- `` 인스턴스를 생성합니다
을(를) 새로운로 설정하고, `` 경로 또는 URL을 지정하십시오- HTML 콘텐츠의 CSS에 ``을 포함하십시오
- ``를 호출하고 결과를 저장합니다
PDF 렌더링에서 사용자 정의 하이픈이 어떻게 작동하는가?
클래스는 IronPDF가 렌더링 과정에서 하이픈 삽입 규칙을 어디에서 불러올지 정의합니다. Chromium 엔진은 이러한 패턴을 읽어들이고, HTML 요소에 CSS 규칙이 존재할 때 이를 적용합니다.
CustomHyphenationDefinitions Class란 무엇인가?
이 클래스는 두 가지 속성을 노출합니다:
| 재산 | 유형 | 필요함 | 설명 |
|---|---|---|---|
PatternSource | 문자열 | 예 | 하이픈 패턴 파일의 경로 또는 URL (예: hyph-en-us.pat.txt) |
ExceptionSource | 문자열 | 아니요 | 하이픈 예외 파일의 경로 또는 URL (예: hyph-en-us.hyp.txt) |
패턴 파일은 GitHub의 tex-hyphen 프로젝트에서 유지 관리하는 TeX 하이픈 형식을 따릅니다. 각 언어별 저장소에는 패턴 규칙을 위한 hyph-{lang}.pat.txt 파일과 예외 목록을 위한 hyph-{lang}.hyp.txt 파일 두 개가 있습니다. GitHub에 호스팅된 파일을 참조할 때는 원본 콘텐츠 URL(https://raw.githubusercontent.com/로 시작)이 필요합니다. 표준 GitHub 페이지 URL은 패턴 텍스트가 아닌 HTML을 반환하기 때문입니다.
맞춤형 하이픈이 내장 언어 설정을 덮어쓰는 경우는 무엇입니까?
열거형과 그는 에서 영어(미국), 영어(영국), 러시아어를 위한 기본 사전 설정을 제공합니다. 속성은 이 열거형과 둘 다 설정된 경우, 명확한 우선순위 체인에 따라 이 열거형보다 우선합니다:
- 사용자 지정 하이픈 삽입 — 유효한 ``로 설정된 경우, 사용자 지정 패턴이 사용됩니다
- HyphenationLanguage — 사용자 정의 패턴이 구성되지 않은 경우, 내장 언어 프리셋 사용
- 없음 — 둘 다 설정되지 않은 경우, 하이픈이 적용되지 않습니다
사용자 정의 패턴 로드에 실패하면 어떻게 되나요?
패턴 로드 중에 발생한 오류는 기록되지만 예외를 발생시키지 않습니다. 렌더링 작업은 실패하기보다는 하이픈 없이 계속 진행됩니다. `` 값도 함께 설정된 경우, 렌더러는 해당 내장 프리셋으로 대체됩니다.
이 무음 실패 동작은 프로덕션 환경을 위한 의도적 설계 선택입니다. 원격 패턴 파일을 가져오는 도중의 네트워크 시간 초과, 잘못된 파일 경로, DNS 해상도 실패 또는 잘못된 패턴 내용은 렌더링 파이프라인을 충돌시키지 않습니다. PDF는 여전히 생성되며, 단지 하이픈 된 단어 끊기가 없을 뿐입니다.
트레이드 오프는 가시성입니다. 잘못된 패턴 파일이나 첫 번째 로드에서 도달할 수 없는 URL은 캐싱이 실패 상태도 저장되므로 동일한 소스 값을 사용하는 모든 후속 렌더링에 대해 조용히 영향을 미칩니다. 권고 사항은 패턴 파일을 검증하고 원격 URL에 대한 네트워크 액세스를 애플리케이션 시작 시 또는 CI/CD 배포 확인 중에 확인하는 것입니다 - 렌더링 시점에서가 아니라.
캐싱이 배치 렌더링 성능에 미치는 영향은?
사용자 정의 하이픈 삽입 패턴은 첫 로드 후 및 값을 키로 하여 메모리에 캐시됩니다. 같은 소스 경로나 URL을 참조하는 후속 렌더링은 파일을 다시 다운로드하거나 다시 읽지 않고 캐싱된 패턴을 재사용합니다.
이 동작은 대량 PDF 렌더링 워크플로에 두 가지 실질적인 영향을 미칩니다:
성능: 첫 번째 렌더링은 I/O 비용(네트워크 요청 또는 디스크 읽기)을 부담합니다. 그 후의 모든 렌더는 패턴 로딩 관점에서 사실상 무료입니다. 동일한 하이픈 처리 설정으로 수백 개의 PDF를 생성하는 배치 작업의 경우 오버헤드는 무시할 수 있을 정도입니다.
조용한 실패 지속성: 패턴 로드 중 오류가 발생해도 예외가 발생하지 않고 렌더러가 하이픈 처리 없이 계속되므로 잘못된 패턴 파일이나 첫 번째 로드 시 네트워크 실패가 전체 배치에 걸쳐 조용히 지속됩니다. 각 후속 렌더링도 하이픈 처리가 없으며 추가적인 오류 신호는 없습니다. 애플리케이션 시작 또는 배포 시 패턴 파일을 검증하고 URL 접근 가능성을 확인하십시오 - 렌더링 시간에는 하지 마십시오.
캐시 키 식별자: 캐시 키는 (그리고 설정된 경우)의 정확한 문자열 값입니다. 같은 URL 또는 파일 경로를 가리키는 두 렌더러 인스턴스는 동일한 캐싱된 패턴을 공유합니다. URL을 변경하면 - 같은 파일의 다른 버전이라도 - 새로 로드하게 됩니다.
프로덕션 배포 전에 파일 콘텐츠를 사전 검증하십시오. 패턴 파일은 유효한 하이픈 처리 텍스트만 포함해야 합니다. 주석, TeX 지시어, 인코딩 선언 또는 비패턴 콘텐츠의 존재는 통합을 실패하게 만듭니다. tex-hyphen 저장소는 수십 개의 언어에 대한 사전 개발된 깨끗한 패턴 파일을 제공합니다.
원격 패턴 소스에 HTTPS를 권장합니다. HTTP도 지원하지만 파일 콘텐츠에 대한 전송 계층 보호를 제공하지 않습니다.
다음 단계는 무엇인가요?
속성은ChromePdfRenderOptions@@- -CODE-965--@@의 를 통해 제공되는 세 가지 기본 사전 설정 이상의 기능을 확장하여, TeX 패턴 파일이 지원하는 모든 언어에 대한 단어 분할 동작을 직접 제어할 수 있게 해줍니다. 패턴 파일은 원격 URL이나 로컬 경로에서 로드되며, 첫 사용 후 메모리에 캐시됩니다. 로드 실패 시 설정으로 대체됩니다. 오류는 기록되지만 절대 발생하지 않으므로 패턴 검증은 렌더링 시간 대신 배포 중에 수행해야 합니다.
관련 IronPDF 렌더링 구성에 대해서는 다음을 참조하십시오:
ChromePdfRenderOptions사용 가능한 모든 렌더링 옵션에 대한 API 레퍼런스PdfHyphenationLanguage내장 언어 사전 설정용 열거형- 전체 HTML 렌더링 파이프라인에 대한 HTML에서 PDF로 렌더링 튜토리얼
- 기타 ChromePdfRenderOptions 구성에 대한 렌더링 옵션 사용 방법
- PDF 생성 및 조작 기능의 전체 세트에 대한 IronPDF 기능 개요
IronPDF의 무료 30일 체험판을 받아 커스텀 하이픈 처리를 라이브 프로젝트에서 테스트하거나, 프로덕션 배포를 위한 라이선스 옵션을 확인하십시오.
ChromePdfRendererPatternSource@@--CODE-973--@@string@@--CODE-974--@@@@--CODE-975--@@@@--CODE-976--@@@@--CODE-977--@@@@--CODE-978--@@ChromePdfRenderOptionshyph-en-us.pat.txt@@--CODE-980--@@@@--CODE-981--@@@@--CODE-982--@@@@--CODE-983--@@
자주 묻는 질문
C#을 사용하여 PDF 생성에서 맞춤 하이픈 적용을 구현하려면 어떻게 해야 합니까?
IronPDF를 사용하여 PDF 생성에서 TeX 하이픈 패턴을 URL 또는 로컬 파일에서 로드함으로써 맞춤 하이픈 적용을 구현할 수 있습니다. 이를 통해 C#에서 PDF를 생성할 때 단어 분리를 제어할 수 있습니다.
TeX 하이픈 패턴이 무엇이며 IronPDF에서는 어떻게 사용됩니까?
TeX 하이픈 패턴은 적절한 하이픈 지점에서 단어를 분리하기 위한 규칙 집합입니다. IronPDF는 이러한 패턴을 로드하여 생성된 PDF에서 단어가 하이픈 처리되는 방식을 관리할 수 있도록 합니다.
IronPDF에서 URL에서 하이픈 패턴을 로드할 수 있습니까?
네, IronPDF는 URL에서 하이픈 패턴을 직접 로드하는 것을 지원하여 C# PDF 프로젝트에 동적이고 유연한 단어 분할 구성을 가능하게 합니다.
IronPDF에서 하이픈 패턴에 로컬 파일을 사용할 수 있습니까?
물론입니다. IronPDF는 로컬 파일에서 맞춤 하이픈 패턴을 로드할 수 있어 PDF에서 단어 하이픈 적용을 정확하게 제어할 수 있습니다.
IronPDF에서 맞춤 하이픈 사용 시 제약은 무엇입니까?
IronPDF에서 맞춤 하이픈을 사용할 때 패턴이 올바르게 형식화되고 해당 언어 및 문서 레이아웃 요구 사항과 일치하도록 해야 합니다.
내 PDF 문서에서 맞춤 하이픈이 왜 필요합니까?
맞춤 하이픈 적용은 PDF 문서에서 가독성을 향상시키고 일관된 서식을 보장하는 데 유용하며, 특히 복잡한 언어별 단어 분할을 처리할 때 유용합니다.
IronPDF는 맞춤 하이픈 적용을 구현하기 위한 코드 예제를 제공합니까?
네, IronPDF는 C# 프로젝트에서 맞춤 하이픈 적용을 구현하는 데 도움이 되는 코드 예제를 제공하여 이 기능을 PDF 생성 프로세스에 쉽게 통합할 수 있게 합니다.
맞춤 하이픈 적용이 PDF 생성에 어떻게 향상됩니까?
맞춤 하이픈 적용은 단어 분할을 정확하게 제어하여 문서의 외관과 가독성을 향상시켜 다양한 언어와 형식에서 문서의 매력을 높이는 데 기여합니다.

