폼 필드의 사용자 정의 폰트

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

대화형 양식 필드를 스타일링할 때, SetFont() 메서드는 사용자 정의 글꼴을 적용할 수 없습니다. 오류는 없습니다; 폰트 요청이 단순히 무시되어 필드는 기본 모양을 유지합니다.

사용자 정의 글꼴 스타일링은 아직 SetFont()을 통해 지원되지 않습니다. 차기 릴리스에서 지원될 때까지, 글꼴, 크기, 색상을 필드의 DefaultAppearance 속성을 통해 직접 조정할 수 있으며, 이는 원시 PDF 그리기 명령어 문자열을 받습니다.

해결책

1. 외관 문자열을 수동으로 설정하기

문서를 로드하고, 필드를 가져와 글꼴, 크기, 색상을 설명하는 DefaultAppearance 문자열을 할당하십시오:

var pdf = PdfDocument.FromFile("FilledForm.pdf");
TextFormField field = pdf.Form[0] as TextFormField;
// Manually define the appearance string:
// Format: /{FontName}-{Weight} {FontSize} Tf {R} {G} {B} rg
field.DefaultAppearance = "/AdobeThai-Bold 15 Tf 0.898 0.133 0.215 rg";
field.Value = "This is size 15";
pdf.SaveAs("customformfieldvalue15.pdf");
var pdf = PdfDocument.FromFile("FilledForm.pdf");
TextFormField field = pdf.Form[0] as TextFormField;
// Manually define the appearance string:
// Format: /{FontName}-{Weight} {FontSize} Tf {R} {G} {B} rg
field.DefaultAppearance = "/AdobeThai-Bold 15 Tf 0.898 0.133 0.215 rg";
field.Value = "This is size 15";
pdf.SaveAs("customformfieldvalue15.pdf");
Imports System

Dim pdf = PdfDocument.FromFile("FilledForm.pdf")
Dim field As TextFormField = TryCast(pdf.Form(0), TextFormField)
' Manually define the appearance string:
' Format: /{FontName}-{Weight} {FontSize} Tf {R} {G} {B} rg
field.DefaultAppearance = "/AdobeThai-Bold 15 Tf 0.898 0.133 0.215 rg"
field.Value = "This is size 15"
pdf.SaveAs("customformfieldvalue15.pdf")
$vbLabelText   $csharpLabel

문자열은 PDF 텍스트 연산자로 해석되므로 지정한 폰트는 문서를 렌더링하는 기계에 설치되어 있어야 합니다.

2. 외관 문자열 읽기

문자열의 각 토큰은 필드의 스타일링의 한 부분에 매핑됩니다:

  • /AdobeThai-Bold: 글꼴 이름과 굵기. 이 폰트는 시스템에 설치되어 있어야 합니다.
  • 15 Tf: 글꼴 크기, 여기서는 15 pt.
  • 0.898 0.133 0.215 rg: RGB 색상, 이 경우 붉은 색조.

경고명명된 폰트는 PDF를 렌더링하는 시스템에 설치되어 있어야 합니다. 누락되면, 스타일링은 작성된 대로 적용되지 않습니다.

이렇게 하면 나중에 IronPDF의 릴리스에서 SetFont() 지원이 도착할 때까지 양식 필드 텍스트의 글꼴과 색상을 완전히 제어할 수 있습니다.

Curtis Chau
기술 문서 작성자

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

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

시작할 준비 되셨나요?
Nuget 다운로드 20,296,129 | 버전: 2026.7 방금 출시
Still Scrolling Icon

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

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