IronPDF 방법 PDF DOM 객체 C#에서 모든 PDF DOM 객체에 접근하는 방법 커티스 차우 업데이트됨:1월 10, 2026 다운로드 IronPDF NuGet 다운로드 DLL 다운로드 윈도우 설치 프로그램 무료 체험 시작하기 LLM용 사본 LLM용 사본 LLM용 마크다운 형식으로 페이지를 복사하세요 ChatGPT에서 열기 ChatGPT에 이 페이지에 대해 문의하세요 제미니에서 열기 제미니에게 이 페이지에 대해 문의하세요 Grok에서 열기 Grok에게 이 페이지에 대해 문의하세요 혼란 속에서 열기 Perplexity에게 이 페이지에 대해 문의하세요 공유하다 페이스북에 공유하기 트위터에 공유하기 LinkedIn에 공유하기 URL 복사 이메일로 기사 보내기 This article was translated from English: Does it need improvement? Translated View the article in English C#에서 PDF DOM 객체에 접근하려면 IronPDF의 ObjectModel 속성을 사용하세요. 이 속성은 PDF 문서 내의 텍스트, 이미지 및 경로 객체에 프로그래밍 방식으로 접근할 수 있도록 해주며, 요소를 직접 읽고, 수정하고, 번역하고, 크기를 조정하고, 제거할 수 있게 해줍니다. 빠른 시작: IronPDF를 사용하여 PDF DOM 요소에 액세스하고 업데이트하기 IronPDF의 DOM 접근 기능을 사용하여 PDF 문서를 조작해 보세요. 이 가이드에서는 PDF DOM에 접근하고, 페이지를 선택하고, 텍스트 객체를 수정하는 방법을 보여줍니다. PDF 파일을 불러와 원하는 페이지에 접근한 후, 몇 줄의 코드로 콘텐츠를 업데이트하세요. 지금 바로 NuGet을 사용하여 PDF 만들기를 시작하세요. NuGet 패키지 관리자를 사용하여 IronPDF를 설치하세요. PM > Install-Package IronPdf 다음 코드 조각을 복사하여 실행하세요. var objs = IronPdf.ChromePdfRenderer.RenderUrlAsPdf("https://example.com").Pages.First().ObjectModel; 실제 운영 환경에서 테스트할 수 있도록 배포하세요. 지금 바로 무료 체험판을 통해 프로젝트에서 IronPDF를 사용해 보세요. 30일 무료 체험 ### 최소 워크플로우(5단계) PDF DOM 객체에 접근하기 위한 C# 라이브러리를 다운로드하세요. 대상 PDF 문서를 가져오거나 렌더링합니다. PDF의 페이지 모음에 접근하여 원하는 페이지를 선택하세요. **ObjectModel** 속성을 사용하여 DOM 객체를 보고 상호 작용할 수 있습니다. 수정된 PDF 문서를 저장하거나 내보내세요. PDF 파일에서 DOM 객체에 접근하는 방법은 무엇인가요? ObjectModel는 PdfPage 객체에서 접근됩니다. 먼저 대상 PDF를 가져온 다음 해당 PDF의 Pages 속성에 액세스합니다. 그 다음, 아무 페이지나 선택하여 ObjectModel 속성에 접근하세요. 이를 통해 HTML DOM 요소를 다루는 것과 유사하게 PDF 콘텐츠와 프로그래밍 방식으로 상호 작용할 수 있습니다. PDF DOM 객체를 다룰 때는 PDF 문서의 기본 구조에 접근할 수 있습니다. 여기에는 텍스트 요소, 이미지, 벡터 그래픽(paths) 및 PDF의 시각적 표현을 구성하는 기타 콘텐츠가 포함됩니다. IronPDF는 C# 애플리케이션과 통합되는 객체 지향적인 PDF 조작 방식을 제공합니다. :path=/static-assets/pdf/content-code-examples/how-to/access-pdf-dom-object.cs using IronPdf; using System.Linq; // Instantiate Renderer ChromePdfRenderer renderer = new ChromePdfRenderer(); // Create a PDF from a URL PdfDocument pdf = renderer.RenderUrlAsPdf("https://ironpdf.com/"); // Access DOM Objects var objects = pdf.Pages.First().ObjectModel; $vbLabelText $csharpLabel ObjectModel 속성에는 ImageObject, PathObject 및 TextObject가 포함됩니다. 각 객체는 페이지 인덱스, 경계 상자, 크기 및 변환에 대한 정보를 포함합니다. 이 정보는 수정할 수 있습니다. 렌더링 옵션을 사용하면 이러한 개체가 표시되는 방식을 사용자 지정할 수 있습니다. 사용자 지정 여백을 사용할 때는 객체 위치를 이해하는 것이 중요합니다. <ImageObject>: Height: 이미지의 높이 Width: 이미지 너비 ExportBytesAsJpg: 이미지를 JPG 바이트 배열로 내보내는 메서드 <PathObject>: FillColor: 경로의 채우기 색상 StrokeColor: 패스의 테두리 색상 Points: 경로를 정의하는 점들의 모음 <TextObject>: Color: 텍스트 색상 Contents: 실제 텍스트 내용 각 객체 유형은 해당 콘텐츠 유형에 맞춘 메서드와 속성을 제공합니다. 텍스트와 이미지를 추출 하거나 특정 콘텐츠를 수정해야 할 때 이러한 객체는 세부적인 제어 기능을 제공합니다. 이 기능은 PDF 양식을 다룰 때, 특히 양식 필드를 프로그래밍 방식으로 조작해야 할 때 유용합니다. 글자 정보와 경계 상자를 어떻게 가져올 수 있나요? 사용자 정의 글꼴로 정확한 글리프를 지정할 때는 바운딩 박스와 글리프 정보를 가져오는 것이 필수적입니다. IronPDF는 기존 PDF에 텍스트와 비트맵을 그릴 때 픽셀 단위로 정확한 위치를 지정할 수 있도록 이 정보를 제공합니다. PdfPage 객체에서 ObjectModel에 접근합니다. 그런 다음 TextObjects 컬렉션에 액세스합니다. 글리프 및 경계 상자 정보를 가져오려면 GetGlyphInfo 메서드를 호출하십시오. :path=/static-assets/pdf/content-code-examples/how-to/access-pdf-dom-object-retrieve-glyph.cs using IronPdf; using System.Linq; PdfDocument pdf = PdfDocument.FromFile("invoice.pdf"); var glyph = pdf.Pages.First().ObjectModel.TextObjects.First().GetGlyphInfo(); $vbLabelText $csharpLabel 글리프 정보에는 고급 PDF 조작을 위한 위치 데이터, 글꼴 메트릭 및 문자별 세부 정보가 포함됩니다. 이를 통해 복잡한 타이포그래피 및 레이아웃 요구 사항을 처리하는 PDF 처리 애플리케이션을 만들 수 있습니다. 사용자 정의 글꼴을 사용할 때, 이러한 글리프 수준 접근을 통해 시스템 전반에 걸쳐 정확한 렌더링이 보장됩니다. PDF 객체를 어떻게 번역할 수 있나요? 텍스트나 이미지 등의 요소를 재배치하여 PDF 레이아웃을 조정하세요. Translate 속성을 변경하여 객체를 이동하세요. 이 기능은 IronPDF의 PDF 변환 기능 의 일부입니다. 아래 예시는 CSS Flexbox를 사용하여 텍스트를 가운데 정렬하는 HTML을 렌더링합니다. 첫 번째 TextObject에 접근하여 새로운 PointF를 Translate 속성에 할당하여 변환합니다. 이렇게 하면 텍스트가 오른쪽으로 200포인트, 위로 150포인트 이동합니다. 더 많은 예시를 보려면 PDF 개체 번역 예시 페이지를 방문하세요. 객체를 번역하려면 어떤 코드를 사용해야 하나요? :path=/static-assets/pdf/content-code-examples/how-to/access-pdf-dom-object-translate.cs using IronPdf; using System.Drawing; using System.Linq; // Setup the Renderer var renderer = new ChromePdfRenderer(); // We use CSS Flexbox to perfectly center the text vertically and horizontally. var html = @" <div style='display: flex; justify-content: center; align-items: center; font-size: 48px;'> Centered </div>"; // Render the HTML to a PDF PdfDocument pdf = renderer.RenderHtmlAsPdf(html); // Save the original PDF to see the "before" state pdf.SaveAs("BeforeTranslate.pdf"); // Access the first text object on the first page // In this simple HTML, this will be our "Centered" text block. var textObject = pdf.Pages.First().ObjectModel.TextObjects.First(); // Apply the translation // This moves the object 200 points to the right and 150 points up from its original position. textObject.Translate = new PointF(200, 150); // Save the modified PDF to see the "after" state pdf.SaveAs("AfterTranslate.pdf"); $vbLabelText $csharpLabel 번역 결과는 어떻게 나오나요? 출력 결과는 "Centered"가 원래 위치에서 오른쪽으로 200포인트, 위로 150포인트 이동했음을 보여줍니다. 이동 작업은 글꼴, 크기, 색상과 같은 객체의 원래 속성을 유지하면서 위치만 변경합니다. 이는 시각적 외관에 영향을 주지 않고 레이아웃을 조정하는 데 이상적입니다. 이 기능은 동적으로 생성된 콘텐츠의 위치를 변경할 때 헤더와 푸터 에 적용됩니다. PDF 객체의 크기를 어떻게 확대/축소하나요? Scale 속성을 사용하여 PDF 개체의 크기를 조정합니다. 이 속성은 승수 역할을 합니다. 1보다 큰 값은 크기를 증가시키고, 0과 1 사이의 값은 크기를 감소시킵니다. 동적 레이아웃과 페이지 크기에 맞게 콘텐츠를 조정하려면 크기 조정이 필수적입니다. 더 많은 예시는 PDF 객체 크기 조정 가이드를 참조하세요. 이 예제는 이미지가 포함된 HTML을 렌더링합니다. 첫 번째 ImageObject에 접근하여 두 축 모두에 대해 0.7을 갖는 새로운 PointF를 할당함으로써 70%로 확대합니다. PDF 객체 크기 조정 코드는 무엇인가요? :path=/static-assets/pdf/content-code-examples/how-to/access-pdf-dom-object-scale.cs using IronPdf; using System.Linq; // Setup the Renderer var renderer = new ChromePdfRenderer(); // The image is placed in a div to give it some space on the page. string html = @"<img src='https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcTi8LuOR6_A98euPLs-JRwoLU7Nc31nVP15rw&s'>"; // Render the HTML to a PDF PdfDocument pdf = renderer.RenderHtmlAsPdf(html); // Save the PDF before scaling for comparison pdf.SaveAs("BeforeScale.pdf"); // Access the first image object on the first page var image = pdf.Pages.First().ObjectModel.ImageObjects.First(); // We scale the image to 70% of its original size on both the X and Y axes. image.Scale = new System.Drawing.PointF(0.7f, 0.7f); // Save the modified PDF to see the result pdf.SaveAs("AfterScale.pdf"); $vbLabelText $csharpLabel 균일하지 않은 스케일링을 위해 X축과 Y축에 각각 다른 스케일링 계수를 적용합니다. 이는 콘텐츠를 특정 크기에 맞추는 데 유용합니다. 사용자 지정 용지 크기를 사용할 때, 크기 조정을 통해 콘텐츠가 페이지 경계 내에 맞도록 할 수 있습니다. 실제 확장은 어떤 모습일까요? 출력 결과는 원본 크기의 70%로 축소된 이미지를 보여줍니다. PDF에서 개체를 제거하려면 어떻게 해야 하나요? ImageObjects 또는 TextObjects와 같이 PDF DOM 컬렉션에 접근하여 객체를 제거합니다. 컬렉션에서 삭제할 객체의 인덱스를 전달하여 RemoveAt를 호출합니다. 이 기능은 내용을 삭제하거나 문서를 간소화하는 데 유용합니다. PDF 개체 제거 예제 에서 자세히 알아보세요. 이 코드는 BeforeScale.pdf 파일을 불러와 첫 페이지의 첫 번째 이미지를 제거합니다. 객체를 제거하려면 어떤 코드를 사용해야 할까요? :path=/static-assets/pdf/content-code-examples/how-to/access-pdf-dom-object-remove.cs using IronPdf; using System.Linq; // Load the PDF file we created in the Scale example PdfDocument pdf = PdfDocument.FromFile("BeforeScale.pdf"); // Access DOM Objects var objects = pdf.Pages.First().ObjectModel; // Remove first image objects.ImageObjects.RemoveAt(0); // Save the modified PDF pdf.SaveAs("removedFirstImage.pdf"); $vbLabelText $csharpLabel 여러 개체를 제거하면 어떻게 되나요? 제거 후 남아 있는 객체의 인덱스가 변경됩니다. 여러 객체를 삭제할 때는 인덱스를 올바르게 유지하기 위해 역순으로 삭제하십시오. 이 기술은 민감한 문서에서 텍스트를 삭제할 때 유용합니다. 여러 DOM 작업을 어떻게 결합할 수 있나요? IronPDF의 DOM 접근 기능을 통해 정교한 문서 처리 워크플로우를 구현할 수 있습니다. 복잡한 변환을 위한 연산 결합: 결합 연산은 언제 사용해야 할까요? // Example of combining multiple DOM operations using IronPdf; using System.Linq; PdfDocument pdf = PdfDocument.FromFile("complex-document.pdf"); // Iterate through all pages foreach (var page in pdf.Pages) { var objects = page.ObjectModel; // Process text objects foreach (var textObj in objects.TextObjects) { // Change color of specific text if (textObj.Contents.Contains("Important")) { textObj.Color = System.Drawing.Color.Red; } } // Scale down all images by 50% foreach (var imgObj in objects.ImageObjects) { imgObj.Scale = new System.Drawing.PointF(0.5f, 0.5f); } } pdf.SaveAs("processed-document.pdf"); // Example of combining multiple DOM operations using IronPdf; using System.Linq; PdfDocument pdf = PdfDocument.FromFile("complex-document.pdf"); // Iterate through all pages foreach (var page in pdf.Pages) { var objects = page.ObjectModel; // Process text objects foreach (var textObj in objects.TextObjects) { // Change color of specific text if (textObj.Contents.Contains("Important")) { textObj.Color = System.Drawing.Color.Red; } } // Scale down all images by 50% foreach (var imgObj in objects.ImageObjects) { imgObj.Scale = new System.Drawing.PointF(0.5f, 0.5f); } } pdf.SaveAs("processed-document.pdf"); $vbLabelText $csharpLabel 통합 작업의 일반적인 사용 사례는 무엇입니까? 결합된 DOM 작업은 다음과 같은 경우에 효과적입니다. 일괄 문서 처리: 문서 형식을 표준화하거나 민감한 내용을 제거하는 등의 작업을 수행합니다. 동적 보고서 생성: 레이아웃을 제어하면서 실시간 데이터를 사용하여 템플릿 PDF를 수정할 수 있습니다. 콘텐츠 마이그레이션: PDF에서 콘텐츠를 추출하고 새 레이아웃에 맞게 재구성합니다. 접근성 개선: 텍스트 크기, 대비 또는 간격을 조정하여 문서를 향상시키세요. 이러한 기술 덕분에 복잡한 수정 사항을 처리할 수 있는 강력한 PDF 처리 애플리케이션이 가능해집니다. 문서 속성 관리에 대한 자세한 내용은 메타데이터 관리 가이드를 참조하십시오. DOM 접근 방식은 다른 PDF 조작 방식과 어떻게 다른가요? PDF DOM을 사용하면 기존 방식보다 여러 가지 이점이 있습니다. // Example: Selective content modification based on criteria using IronPdf; using System.Linq; PdfDocument report = PdfDocument.FromFile("quarterly-report.pdf"); foreach (var page in report.Pages) { var textObjects = page.ObjectModel.TextObjects; // Highlight negative values in financial reports foreach (var text in textObjects) { if (text.Contents.StartsWith("-$") || text.Contents.Contains("Loss")) { text.Color = System.Drawing.Color.Red; } } } report.SaveAs("highlighted-report.pdf"); // Example: Selective content modification based on criteria using IronPdf; using System.Linq; PdfDocument report = PdfDocument.FromFile("quarterly-report.pdf"); foreach (var page in report.Pages) { var textObjects = page.ObjectModel.TextObjects; // Highlight negative values in financial reports foreach (var text in textObjects) { if (text.Contents.StartsWith("-$") || text.Contents.Contains("Loss")) { text.Color = System.Drawing.Color.Red; } } } report.SaveAs("highlighted-report.pdf"); $vbLabelText $csharpLabel 이처럼 세밀한 제어는 HTML을 PDF로 변환하는 것만으로는 불가능하므로, 정교한 PDF 처리를 위해서는 DOM 접근이 필수적입니다. 당신이 할 수 있는 다른 일들을 알아볼 준비가 되셨나요? PDF 편집 방법에 대한 튜토리얼 페이지는 여기에서 확인하세요. 자주 묻는 질문 PDF 조작에서 ObjectModel 속성은 무엇에 사용됩니까? IronPDF의 ObjectModel 속성은 PDF 문서 내의 텍스트, 이미지 및 경로 객체에 대한 프로그래밍 방식의 접근을 제공합니다. 이를 통해 개발자는 HTML DOM 요소를 다루는 것과 유사하게 PDF DOM에서 요소를 직접 읽고, 수정하고, 번역하고, 크기를 조정하고, 삭제할 수 있습니다. C#에서 PDF DOM 객체에 어떻게 접근할 수 있나요? IronPDF를 사용하여 PDF DOM 객체에 접근하려면 먼저 대상 PDF 문서를 가져온 다음 Pages 속성에 접근합니다. 거기서 아무 페이지나 선택하고 ObjectModel 속성을 사용합니다. 예를 들면 다음과 같습니다. var objs = IronPdf.ChromePdfRenderer.RenderUrlAsPdf("https://example.com").Pages.First().ObjectModel; PDF DOM을 통해 어떤 유형의 객체에 접근할 수 있나요? IronPDF의 ObjectModel은 ImageObject(높이, 너비, ExportBytesAsJpg 등의 속성 포함), PathObject(채우기 색상, 선 색상, 점 개수 포함), TextObject(색상 및 내용 속성 포함)의 세 가지 주요 객체 유형을 포함합니다. 각 객체 유형은 특정 콘텐츠 유형에 맞는 메서드를 제공합니다. PDF 문서 내의 텍스트 내용을 프로그램으로 수정할 수 있나요? 네, IronPDF에서는 TextObject의 Contents 속성을 통해 텍스트 내용을 수정할 수 있습니다. ObjectModel을 통해 텍스트 객체에 접근하여 내용을 업데이트하고, 몇 줄의 코드만으로 수정된 PDF 문서를 저장할 수 있습니다. PDF 문서에서 이미지를 내보내는 방법은 무엇인가요? IronPDF의 ImageObject는 이미지를 JPG 바이트 배열로 내보낼 수 있는 ExportBytesAsJpg 메서드를 제공합니다. ObjectModel 속성을 통해 이미지에 접근하고 이 메서드를 사용하여 이미지 데이터를 프로그래밍 방식으로 추출할 수 있습니다. 각 DOM 객체의 위치에 대해 어떤 정보를 알 수 있나요? IronPDF의 ObjectModel에 있는 각 객체는 페이지 인덱스, 경계 상자 좌표, 크기 및 변환에 대한 정보를 포함합니다. 이러한 위치 정보는 읽고 수정하여 PDF 내의 요소를 재배치하거나 변형할 수 있습니다. 커티스 차우 지금 바로 엔지니어링 팀과 채팅하세요 기술 문서 작성자 커티스 차우는 칼턴 대학교에서 컴퓨터 과학 학사 학위를 취득했으며, Node.js, TypeScript, JavaScript, React를 전문으로 하는 프론트엔드 개발자입니다. 직관적이고 미적으로 뛰어난 사용자 인터페이스를 만드는 데 열정을 가진 그는 최신 프레임워크를 활용하고, 잘 구성되고 시각적으로 매력적인 매뉴얼을 제작하는 것을 즐깁니다. 커티스는 개발 분야 외에도 사물 인터넷(IoT)에 깊은 관심을 가지고 있으며, 하드웨어와 소프트웨어를 통합하는 혁신적인 방법을 연구합니다. 여가 시간에는 게임을 즐기거나 디스코드 봇을 만들면서 기술에 대한 애정과 창의성을 결합합니다. 시작할 준비 되셨나요? Nuget 다운로드 17,527,568 | 버전: 2026.2 방금 출시되었습니다 NuGet 무료 다운로드 총 다운로드 수: 17,527,568 라이선스 보기