GroupDocs.Conversion for Java를 활용한 폰트 대체 마스터하기
노트 문서를 PDF로 변환하면서 일관된 타이포그래피를 유지하는 것은 어려울 수 있습니다. 이 가이드에서는 GroupDocs.Conversion for Java를 사용하여 note를 pdf로 변환하는 방법을 배우고, 누락된 폰트를 교체하며, 기본 대체 폰트를 설정하여 모든 장치에서 출력이 동일하게 보이도록 합니다.
빠른 답변
- 폰트 대체의 주요 목적은 무엇인가요? 사용자가 지정한 폰트로 사용 불가능한 폰트를 교체하여 문서의 외관을 일관되게 유지합니다.
- 변환을 담당하는 라이브러리는 무엇인가요?
GroupDocs.Conversion for Java. - 프로덕션에 라이선스가 필요합니까? 예 – 정식 라이선스 또는 임시 라이선스가 필요합니다.
- 알 수 없는 경우에 기본 폰트를 설정할 수 있나요? 물론입니다.
NoteLoadOptions의setDefaultFont()를 사용합니다. - JDK 8 이상과 호환되나요? 예, 라이브러리는 Java 8+를 지원합니다.
“convert note to pdf”란 무엇인가요?
“convert note to pdf”는 .ONE, .ENEX 등과 같은 노트 파일 형식을 보편적으로 볼 수 있는 PDF 형식으로 변환하는 것을 의미합니다. 이 과정에서 누락된 폰트 문제가 자주 발생하므로 폰트 대체가 필수적입니다.
왜 GroupDocs.Conversion for Java를 사용하나요?
- 원활한 폰트 처리 – 누락된 폰트를 자동으로 교체합니다.
- 고품질 PDF 출력 – 레이아웃, 이미지 및 스타일을 보존합니다.
- 쉬운 통합 – Maven 기반 설정으로 모든 Java 프로젝트에 바로 적용됩니다.
- 성능 최적화 – 대용량 문서에 대한 효율적인 메모리 사용을 제공합니다.
사전 요구 사항
- Java Development Kit (JDK) 버전 8 이상.
- IntelliJ IDEA 또는 Eclipse와 같은 IDE.
- Maven이 설치되어 있어야 합니다.
- Java 및 문서 변환 개념에 대한 기본 지식.
GroupDocs.Conversion for Java 설정
Add the GroupDocs repository and dependency to your pom.xml:
<repositories>
<repository>
<id>repository.groupdocs.com</id>
<name>GroupDocs Repository</name>
<url>https://releases.groupdocs.com/conversion/java/</url>
</repository>
</repositories>
<dependencies>
<dependency>
<groupId>com.groupdocs</groupId>
<artifactId>groupdocs-conversion</artifactId>
<version>25.2</version>
</dependency>
</dependencies>
라이선스 획득
GroupDocs는 테스트용 무료 체험 및 임시 라이선스를 제공하며, 프로덕션 사용을 위해 정식 라이선스를 구매할 수도 있습니다.
convert note to pdf 중 폰트를 대체하는 방법
단계 1: 폰트 대체 구성
Create a NoteLoadOptions object, define the font pairs you want to replace, and set a fallback font for any unmatched cases:
import com.groupdocs.conversion.Converter;
import com.groupdocs.conversion.options.convert.PdfConvertOptions;
import com.groupdocs.conversion.options.load.NoteLoadOptions;
import com.groupdocs.conversion.contracts.FontSubstitute;
// Create font substitution options
NoteLoadOptions loadOptions = new NoteLoadOptions();
List<FontSubstitute> fontSubstitutes = new ArrayList<>();
fontSubstitutes.add(FontSubstitute.create("Tahoma", "Arial")); // Substitute Tahoma with Arial
fontSubstitutes.add(FontSubstitute.create("Times New Roman", "Arial")); // Substitute Times New Roman with Arial
loadOptions.setFontSubstitutes(fontSubstitutes);
// Set the default font for unhandled substitutions
defaultFont = "YOUR_DOCUMENT_DIRECTORY/terminal-grotesque_open.otf";
NoteLoadOptions– 노트 문서에 특화된 로드 옵션을 구성합니다.FontSubstitute.create()– 누락된 폰트를 대체 폰트에 매핑합니다.setDefaultFont()– 명시적인 대체가 없을 때 사용할 기본 폰트를 정의합니다.
단계 2: 문서를 PDF로 변환
Pass the configured load options to the Converter and execute the conversion:
// Initialize Converter with specified load options
converter = new Converter("YOUR_DOCUMENT_DIRECTORY/sample_note_document", () -> loadOptions);
// Set PDF conversion options
pdfOptions = new PdfConvertOptions();
// Perform conversion
coder.convert("YOUR_OUTPUT_DIRECTORY/converted_note.pdf", pdfOptions);
Converter– 제공된 옵션을 사용해 소스 파일을 로드합니다.convert()– PDF 파일을 대상 위치에 기록합니다.
커스텀 폰트 없이 노트 문서를 PDF로 변환하기
If you simply need to java document to pdf without custom substitutions, the steps are even shorter:
// Initialize Converter for a given document
converter = new Converter("YOUR_DOCUMENT_DIRECTORY/sample_note_document");
pdfOptions = new PdfConvertOptions(); // Configure conversion options
converter.convert("YOUR_OUTPUT_DIRECTORY/converted_note.pdf", pdfOptions);
실용적인 적용 사례
- 문서 공유 – Windows, macOS, Linux에서 동일하게 보이는 PDF를 전송합니다.
- 아카이빙 – 규정 준수를 위해 레거시 노트 파일의 시각적 충실도를 보존합니다.
- 크로스 플랫폼 호환성 – 설치된 글꼴과 관계없이 모든 이해관계자가 동일한 폰트를 보도록 보장합니다.
통합 가능성
이 변환 흐름을 엔터프라이즈 콘텐츠 관리 시스템, 업로드를 처리하는 마이크로서비스, 혹은 레거시 노트 아카이브를 PDF로 마이그레이션하는 배치 작업에 삽입할 수 있습니다.
성능 고려 사항
- 메모리 관리 – 파일을 전체 메모리에 로드하는 대신 스트리밍합니다.
- 캐싱 – 자주 사용하는 폰트 파일을 캐시하여 반복적인 디스크 I/O를 방지합니다.
- Java 모범 사례 – 가비지 컬렉터를 튜닝하고 가능한 경우
Converter인스턴스를 재사용합니다.
일반적인 문제와 해결책
| 문제 | 가능한 원인 | 해결 방법 |
|---|---|---|
| 변환 후 폰트 누락 | 폰트에 대한 대체가 정의되지 않음 | FontSubstitute 항목을 추가하거나 적절한 기본 폰트를 설정합니다. |
loadOptions에서 NullPointerException | loadOptions가 Converter에 전달되지 않음 | Converter를 생성할 때 람다 () -> loadOptions를 사용하도록 합니다. |
| 대용량 파일 변환이 느림 | 전체 문서를 메모리에 로드함 | 스트리밍 API를 사용하거나 JVM 힙 크기를 적절히 늘립니다. |
자주 묻는 질문
Q: 여러 폰트를 한 번에 대체할 수 있나요?
A: 예, fontSubstitutes 리스트에 여러 FontSubstitute 항목을 추가하면 됩니다.
Q: 기본 폰트를 찾을 수 없으면 어떻게 되나요?
A: 변환은 시스템 기본 폰트로 대체되며, 이는 플랫폼마다 다를 수 있습니다.
Q: 변환 오류를 어떻게 해결하나요?
A: 파일 경로를 확인하고, 모든 Maven 의존성이 해결되었는지 확인하며, 콘솔에 출력된 스택 트레이스를 확인합니다.
Q: GroupDocs.Conversion이 모든 Java 버전과 호환되나요?
A: JDK 8 이상을 지원합니다.
Q: 폰트 대체를 Word나 Excel 같은 다른 형식에도 사용할 수 있나요?
A: 물론입니다 – 동일한 FontSubstitute 메커니즘이 다양한 문서 유형에 적용됩니다.
리소스
마지막 업데이트: 2026-01-28
테스트 환경: GroupDocs.Conversion 25.2 for Java
작성자: GroupDocs