PDF 파일에서 문자 강조

소개

PDF 작업을 할 때 종종 텍스트나 문자를 강조해야 할 필요성이 생깁니다. 학술적 목적이든, 편집이든, 단순히 가독성을 개선하기 위해서든요. 아름다운 문서가 있는데, 특정 부분을 강조하고 싶다고 상상해보세요. 바로 여기서 강조가 등장합니다! 이 튜토리얼에서는 강력한 Aspose.PDF for .NET 라이브러리를 사용하여 PDF 파일에서 문자를 강조하는 방법을 알아보겠습니다.

필수 조건

코드로 넘어가기 전에 필요한 모든 것이 있는지 확인해 보겠습니다. 필요한 것은 다음과 같습니다.

  1. 개발 환경: 이 튜토리얼에서는 사용자가 Visual Studio나 이와 유사한 .NET IDE에서 작업하고 있다고 가정합니다.
  2. .NET 라이브러리용 Aspose.PDF: 아직 없다면 다음을 수행할 수 있습니다.여기서 다운로드하세요 프로젝트에 추가하세요.
  3. C#에 대한 기본 지식: C# 프로그래밍에 대한 기본 지식은 구현을 쉽게 이해하는 데 도움이 됩니다.
  4. 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);

우리는 명확성을 위해 해상도를 정의하여 텍스트가 적절하게 렌더링되도록 합니다.PdfConverterPDF 페이지를 이미지로 바꿔서 그림을 그릴 수 있게 해줍니다.

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 문서 구현 및 기능에 대한 자세한 내용은 다음을 참조하세요.