C#에서 PDF에 텍스트 추가

PDF 형식은 송장, 재무 보고서, 이력서 등과 같은 다양한 유형의 문서를 생성하는 데 널리 사용됩니다. 자동화의 세계에서 PDF 문서는 웹 또는 데스크톱 응용 프로그램 내에서 생성 및 조작됩니다. 따라서 어떤 경우에는 프로그래밍 방식으로 기존 PDF 파일에 텍스트를 추가해야 할 수도 있습니다. 이에 따라 이 기사에서는 C#을 사용하여 PDF 문서에 텍스트를 추가하는 방법을 보여줍니다.

PDF에 텍스트를 추가하는 C# API

PDF 파일에 텍스트를 동적으로 추가하기 위해 Aspose.PDF for .NET를 사용합니다. .NET 응용 프로그램 내에서 PDF 파일을 만들고 조작할 수 있는 기능이 풍부한 API입니다. API를 다운로드하거나 NuGet을 사용하여 설치할 수 있습니다.

PM> Install-Package Aspose.PDF

C#을 사용하여 PDF에 텍스트 추가

다음은 C#을 사용하여 PDF 파일에 텍스트를 추가하는 단계입니다.

  • Document 클래스를 사용하여 PDF 파일을 로드합니다.
  • PDF의 원하는 페이지를 페이지 개체로 가져옵니다.
  • TextFragment 개체를 만들고 해당 개체의 텍스트, 위치, 글꼴, 배경색 등을 설정합니다.
  • TextBuilder 객체를 생성하고 Page 객체로 초기화합니다.
  • TextBuilder.AppendText(TextFragment) 메서드를 사용하여 PDF 페이지에 텍스트를 추가합니다.
  • Document.Save(String) 메서드를 사용하여 업데이트된 PDF 파일을 저장합니다.

다음 코드 샘플은 PDF 파일에 텍스트를 추가하는 방법을 보여줍니다.

// 전체 예제 및 데이터 파일을 보려면 https://github.com/aspose-pdf/Aspose.PDF-for-.NET으로 이동하십시오.
// 문서 열기
Document pdfDocument = new Document("input.pdf");

// 특정 페이지 가져오기
Page pdfPage = (Page)pdfDocument.Pages[1];

// 텍스트 조각 만들기
TextFragment textFragment = new TextFragment("main text");
textFragment.Position = new Position(100, 600);

// 텍스트 속성 설정
textFragment.TextState.FontSize = 12;
textFragment.TextState.Font = FontRepository.FindFont("TimesNewRoman");
textFragment.TextState.BackgroundColor = Aspose.Pdf.Color.FromRgb(System.Drawing.Color.LightGray);
textFragment.TextState.ForegroundColor = Aspose.Pdf.Color.FromRgb(System.Drawing.Color.Red);

// TextBuilder 객체 생성
TextBuilder textBuilder = new TextBuilder(pdfPage);

// PDF 페이지에 텍스트 조각 추가
textBuilder.AppendText(textFragment);

// 결과 PDF 문서를 저장합니다.
pdfDocument.Save("output.pdf");

TextParagraph를 사용하여 PDF에 텍스트 추가

다음은 TextParagraph를 사용하여 PDF 파일에 텍스트를 추가하는 단계입니다.

다음 코드 샘플은 TextParagraph 클래스를 사용하여 PDF에 텍스트를 추가하는 방법을 보여줍니다.

// 전체 예제 및 데이터 파일을 보려면 https://github.com/aspose-pdf/Aspose.PDF-for-.NET으로 이동하십시오.
string fontFile = "font.ttf";

// 입력 PDF 파일 로드
Document doc = new Document("input.pdf");

// 문서의 첫 페이지에 대한 텍스트 빌더 객체 생성
TextBuilder textBuilder = new TextBuilder(doc.Pages[1]);

// 샘플 문자열로 텍스트 조각 만들기
TextFragment textFragment = new TextFragment("Hello world");

if (fontFile != "")
{
    // 트루타입 글꼴을 스트림 개체에 로드
    using (FileStream fontStream = File.OpenRead(fontFile))
    {
        // 텍스트 문자열의 글꼴 이름 설정
        textFragment.TextState.Font = FontRepository.OpenFont(fontStream, FontTypes.TTF);
        
        // 텍스트 조각의 위치 지정
        textFragment.Position = new Position(10, 10);
        
        // PDF 파일 위에 배치할 수 있도록 텍스트를 TextBuilder에 추가합니다.
        textBuilder.AppendText(textFragment);
    }

    // 결과 PDF 문서 저장
    doc.Save("output.pdf");
}

C#에서 PDF에 투명 텍스트 추가

Aspose.PDF for .NET을 사용하면 다음 단계에서 설명하는 것처럼 PDF 문서에 투명 텍스트를 추가할 수도 있습니다.

다음 코드 샘플은 PDF 파일에 투명 텍스트를 추가하는 방법을 보여줍니다.

// 전체 예제 및 데이터 파일을 보려면 https://github.com/aspose-pdf/Aspose.PDF-for-.NET으로 이동하십시오.
// 문서 인스턴스 만들기
Document doc = new Document("input.pdf");

// PDF 파일의 페이지 간 컬렉션 만들기
Aspose.Pdf.Page page = doc.Pages.Add();

// 그래프 객체 생성
Aspose.Pdf.Drawing.Graph canvas = new Aspose.Pdf.Drawing.Graph(100, 400);

// 특정 치수로 직사각형 인스턴스 생성
Aspose.Pdf.Drawing.Rectangle rect = new Aspose.Pdf.Drawing.Rectangle(100, 100, 400, 400);

// 알파 색상 채널에서 색상 개체 만들기
rect.GraphInfo.FillColor = Aspose.Pdf.Color.FromRgb(System.Drawing.Color.FromArgb(128, System.Drawing.Color.FromArgb(12957183)));

// 그래프 개체의 모양 컬렉션에 사각형 추가
canvas.Shapes.Add(rect);

// 페이지 개체의 단락 컬렉션에 그래프 개체 추가
page.Paragraphs.Add(canvas);

// 그래프 개체의 위치를 변경하지 않도록 값 설정
canvas.IsChangePosition = false;

// 샘플 값으로 TextFragment 인스턴스 생성
TextFragment text = new TextFragment("transparent text transparent text transparent text transparent text transparent text transparent text transparent text transparent text transparent text transparent text transparent text transparent text transparent text transparent text transparent text transparent text ");

// 알파 채널에서 색상 개체 만들기
Aspose.Pdf.Color color = Aspose.Pdf.Color.FromArgb(30, 0, 255, 0);

// 텍스트 인스턴스에 대한 색상 정보 설정
text.TextState.ForegroundColor = color;

// 페이지 인스턴스의 단락 컬렉션에 텍스트 추가
page.Paragraphs.Add(text);

// 업데이트된 PDF 파일 저장
doc.Save("output.pdf");

무료 라이선스 받기

임시 라이선스를 사용하면 평가 제한 없이 Aspose.PDF for .NET을 사용할 수 있습니다.

결론

이 기사에서는 C#을 사용하여 기존 PDF 파일에 텍스트를 추가하는 방법을 배웠습니다. 또한 PDF에 투명 텍스트를 동적으로 추가하는 방법을 살펴보았습니다. 문서를 사용하여 C# PDF API에 대해 자세히 알아볼 수 있습니다. 또한 포럼에 질문을 게시할 수 있습니다.

또한보십시오