PDF 파일에서 문자 강조
소개
PDF 작업을 할 때 종종 텍스트나 문자를 강조해야 할 필요성이 생깁니다. 학술적 목적이든, 편집이든, 단순히 가독성을 개선하기 위해서든요. 아름다운 문서가 있는데, 특정 부분을 강조하고 싶다고 상상해보세요. 바로 여기서 강조가 등장합니다! 이 튜토리얼에서는 강력한 Aspose.PDF for .NET 라이브러리를 사용하여 PDF 파일에서 문자를 강조하는 방법을 알아보겠습니다.
필수 조건
코드로 넘어가기 전에 필요한 모든 것이 있는지 확인해 보겠습니다. 필요한 것은 다음과 같습니다.
- 개발 환경: 이 튜토리얼에서는 사용자가 Visual Studio나 이와 유사한 .NET IDE에서 작업하고 있다고 가정합니다.
- .NET 라이브러리용 Aspose.PDF: 아직 없다면 다음을 수행할 수 있습니다.여기서 다운로드하세요 프로젝트에 추가하세요.
- C#에 대한 기본 지식: C# 프로그래밍에 대한 기본 지식은 구현을 쉽게 이해하는 데 도움이 됩니다.
- PDF 문서: 작업할 샘플 PDF 파일이 준비되어 있어야 합니다. 하나를 만들거나 기존 문서를 활용할 수 있습니다.
패키지 가져오기
시작하려면 필요한 네임스페이스를 가져와야 합니다. 이를 위해 C# 파일 맨 위에 포함해야 합니다.
using System.IO;
using Aspose.Pdf;
using Aspose.Pdf.Facades;
using Aspose.Pdf.Devices;
using Aspose.Pdf.Text;
using System;
using System.Drawing;
이러한 패키지는 Aspose 라이브러리를 사용하여 PDF 문서를 만들고, 조작하고, 처리하는 데 필수적입니다.
이제 PDF에서 문자를 강조 표시하기 위한 과정을 이해하기 쉬운 단계로 나누어 보겠습니다.
1단계: PDF 문서 초기화
첫 번째 단계는 PDF 문서를 초기화하는 것입니다. 여기에는 작업할 PDF 파일을 로드하는 것이 포함됩니다. 방법은 다음과 같습니다.
string dataDir = "YOUR DOCUMENT DIRECTORY"; // 올바른 경로를 설정했는지 확인하세요.
Aspose.Pdf.Document pdfDocument = new Aspose.Pdf.Document(dataDir + "input.pdf");
이 스니펫에서 다음을 교체합니다.YOUR DOCUMENT DIRECTORY
입력 PDF 파일이 있는 컴퓨터의 실제 경로와 함께.Aspose.Pdf.Document
PDF를 로드하기 위해 클래스가 인스턴스화됩니다.
2단계: 렌더링 프로세스 설정
다음으로, 우리는 문서의 렌더링 프로세스를 준비해야 합니다. 이것은 페이지의 문자를 정확하게 강조하는 데 필수적입니다.
int resolution = 150; // 이미지 캡처를 위한 해상도를 설정합니다.
using (MemoryStream ms = new MemoryStream())
{
PdfConverter conv = new PdfConverter(pdfDocument);
conv.Resolution = new Resolution(resolution, resolution);
conv.GetNextImage(ms, System.Drawing.Imaging.ImageFormat.Png);
Bitmap bmp = (Bitmap)Bitmap.FromStream(ms);
우리는 명확성을 위해 해상도를 정의하여 텍스트가 적절하게 렌더링되도록 합니다.PdfConverter
PDF 페이지를 이미지로 바꿔서 그림을 그릴 수 있게 해줍니다.
3단계: 그리기용 그래픽 개체 만들기
그리기 과정을 설정한 후에는 강조 표시를 수행할 그래픽 객체를 만들어야 합니다.
using (System.Drawing.Graphics gr = System.Drawing.Graphics.FromImage(bmp))
{
float scale = resolution / 72f; // 축척 계수.
gr.Transform = new System.Drawing.Drawing2D.Matrix(scale, 0, 0, -scale, 0, bmp.Height);
여기서, 우리는 비트맵 이미지에서 그래픽 객체를 만듭니다. 변환은 렌더링을 조정하여 필요한 해상도와 올바르게 일치하도록 도와줍니다.
4단계: 각 페이지를 반복하고 텍스트 강조 표시
이제 PDF의 각 페이지를 순환하여 강조하고 싶은 텍스트 조각을 찾아 보겠습니다.
for (int i = 0; i < pdfDocument.Pages.Count; i++)
{
Page page = pdfDocument.Pages[i + 1]; // Aspose에서는 페이지가 1부터 색인됩니다.
TextFragmentAbsorber textFragmentAbsorber = new TextFragmentAbsorber(@"[\S]+");
textFragmentAbsorber.TextSearchOptions.IsRegularExpressionUsed = true;
page.Accept(textFragmentAbsorber);
우리는 각 페이지에 접근하여 다음을 사용하여 모든 텍스트를 찾습니다.TextFragmentAbsorber
. 정규 표현식 패턴@"[\S]+"
공백이 아닌 모든 문자를 캡처합니다.
5단계: 텍스트 조각 추출 및 강조 표시
이제 텍스트 조각을 추출하여 강조할 시간입니다. 이 프로세스에는 강조하고 싶은 문자 주위에 사각형을 그리는 것이 포함됩니다.
TextFragmentCollection textFragmentCollection = textFragmentAbsorber.TextFragments;
foreach (TextFragment textFragment in textFragmentCollection)
{
// 여기서 논리를 강조합니다
for (int segNum = 1; segNum <= textFragment.Segments.Count; segNum++)
{
TextSegment segment = textFragment.Segments[segNum];
for (int charNum = 1; charNum <= segment.Characters.Count; charNum++)
{
CharInfo characterInfo = segment.Characters[charNum];
gr.DrawRectangle(Pens.Black,
(float)characterInfo.Rectangle.LLX,
(float)characterInfo.Rectangle.LLY,
(float)characterInfo.Rectangle.Width,
(float)characterInfo.Rectangle.Height);
}
}
}
우리는 각 텍스트 조각, 세그먼트, 개별 문자를 순환하며, 이전에 만든 그래픽 객체를 사용하여 그 주위에 사각형을 그립니다.
6단계: 수정된 이미지 저장
강조 표시한 후 결과 이미지를 새 PNG 파일로 저장해야 합니다.
dataDir = dataDir + "HighlightCharacterInPDF_out.png";
bmp.Save(dataDir, System.Drawing.Imaging.ImageFormat.Png);
이 줄은 수정된 비트맵 이미지를 지정된 디렉토리에 PNG 파일로 저장합니다.
7단계: 예외 처리로 마무리
마지막으로, 예상치 못한 오류를 우아하게 처리할 수 있도록 코드를 try-catch 블록으로 묶는 것이 좋습니다.
catch (Exception ex)
{
Console.WriteLine(ex.Message + "\nThis example will only work if you apply a valid Aspose License. You can purchase full license or get a 30-day temporary license from [here](https://buy.aspose.com/temporary-license/).");
}
이 블록은 프로세스 중에 발생할 수 있는 예외를 포착하고 사용자에게 유익한 피드백을 제공합니다.
결론
이제 다 됐습니다! Aspose.PDF for .NET을 사용하여 PDF 파일에서 문자를 성공적으로 강조했습니다. 이 강력한 라이브러리는 주석, 양식 작성 또는 문서 변환 작업이든 PDF 조작에서 무한한 가능성의 문을 열어줍니다. Aspose로 여정을 계속하면서 연습이 중요하다는 것을 기억하세요. 다양한 기능을 계속 실험하면 금세 PDF 전문가가 될 수 있습니다!
자주 묻는 질문
.NET용 Aspose.PDF란 무엇인가요?
.NET용 Aspose.PDF는 .NET 애플리케이션에서 프로그래밍 방식으로 PDF 문서를 만들고, 조작하고, 변환할 수 있는 라이브러리입니다.
한 번에 여러 텍스트 조각을 강조 표시할 수 있나요?
네, 제공된 코드는 PDF 내의 모든 텍스트를 순환하여 여러 부분을 강조 표시하도록 조정될 수 있습니다.
Aspose.PDF의 무료 버전이 있나요?
네, Aspose에서는 무료 체험판을 제공하므로 구매하기 전에 라이브러리를 테스트해 볼 수 있습니다.
Aspose.PDF를 사용하려면 라이센스가 필요합니까?
네, 상업적 사용에는 유효한 라이센스가 필요하지만 테스트용으로는 30일 임시 라이센스를 취득할 수 있습니다.
더 많은 문서는 어디에서 찾을 수 있나요?
참조하실 수 있습니다Aspose.PDF 문서 구현 및 기능에 대한 자세한 내용은 다음을 참조하세요.