PdfFileMend Class

FormattedText를 PDF 문서에 삽입하는 것이 원본 편집 가능한 버전의 문서가 있는 경우 어려운 작업이 아닐 것 같습니다. 문서를 생성한 후 다른 줄을 추가해야 한다는 것을 기억하거나 더 많은 양의 문서에 대해 이야기하고 있다고 가정해 봅시다. 두 경우 모두 Aspose.PDF Facades가 도움이 될 것입니다. PdfFileMend 클래스를 사용하여 기존 PDF 파일에 텍스트를 추가할 가능성을 고려해 봅시다.

기존 PDF 파일에 텍스트 추가 (facades)

여러 가지 방법으로 텍스트를 추가할 수 있습니다. 첫 번째를 고려하십시오. 우리는 FormattedText를 가져와서 페이지에 추가합니다. 그 후, 왼쪽 하단 모서리의 좌표를 지정한 다음, 페이지에 텍스트를 추가합니다.

    public static void AddText01()
    {
        PdfFileMend mender = new PdfFileMend();
        mender.BindPdf(_dataDir + "sample.pdf");
        FormattedText message = new FormattedText("Aspose에 오신 것을 환영합니다!");

        mender.AddText(message, 1, 10, 750);

        // 출력 파일 저장
        mender.Save(_dataDir + "PdfFileMend01_output.pdf");
    }

어떻게 보이는지 확인하십시오:

텍스트 추가

FormattedText를 추가하는 두 번째 방법입니다. 추가적으로, 텍스트가 맞아야 할 사각형을 지정합니다.

public static void AddText02()
    {
        PdfFileMend mender = new PdfFileMend();
        mender.BindPdf(_dataDir + "sample.pdf");
        FormattedText message = new FormattedText("Aspose에 오신 것을 환영합니다! Aspose에 오신 것을 환영합니다!");

        mender.AddText(message, 1, 10, 700, 55, 810);
        mender.WrapMode = WordWrapMode.ByWords;

        // 출력 파일 저장
        mender.Save(_dataDir + "PdfFileMend02_output.pdf");
    }

세 번째 예제는 지정된 페이지에 텍스트를 추가할 수 있는 기능을 제공합니다. 예를 들어, 문서의 1페이지와 3페이지에 캡션을 추가해 봅시다.

public static void AddText03()
    {
        Document document = new Document(_dataDir + "sample.pdf");
        document.Pages.Add();
        document.Pages.Add();
        document.Pages.Add();
        PdfFileMend mender = new PdfFileMend();
        mender.BindPdf(document);
        FormattedText message = new FormattedText("Aspose에 오신 것을 환영합니다!");
        int[] pageNums = new int[] { 1, 3 };
        mender.AddText(message, pageNums, 10, 750, 310, 760);

        // 출력 파일 저장
        mender.Save(_dataDir + "PdfFileMend03_output.pdf");
    }

기존 PDF 파일에 이미지 추가하기 (facades)

기존 PDF 파일에 이미지를 추가하려고 시도해 본 적이 있습니까? 우리는 이것이 쉬운 일이 아니라는 것을 알고 있다고 확신합니다. 아마도 당신은 온라인 양식을 작성하고 있고 신원을 확인하기 위해 사진을 첨부하거나 기존 이력서에 사진을 첨부해야 할 것입니다. 이전에는 이러한 작업을 사진을 만들고, 문서에 첨부하고, 추가로 스캔하고 보내는 방식으로 해결했습니다. 이 과정은 번거롭고 시간이 많이 소요되었습니다.

기존 PDF 파일에 이미지와 텍스트를 추가하는 것은 일반적인 요구 사항이며, com.aspose.pdf.facades 네임스페이스는 이 요구 사항을 매우 잘 충족합니다. 이 네임스페이스는 PDF 파일에 이미지를 추가할 수 있는 클래스 PdfFileMend를 제공합니다.

이 글에서는 com.aspose.pdf.facades를 사용하여 PDF에 이미지를 삽입하는 방법을 보여줍니다. PDF에 이미지를 추가하는 여러 옵션도 있습니다.

사각형의 매개변수를 설정하여 PDF 문서에 이미지를 삽입합니다.

public static void AddImage01()
    {
        Document document = new Document(_dataDir + "sample.pdf");
        PdfFileMend mender = new PdfFileMend();

        // 이미지를 스트림에 로드합니다.
        var imageStream = System.IO.File.OpenRead(_dataDir + "logo.png");
        mender.BindPdf(document);
        mender.AddImage(imageStream, 1, 10, 650, 110, 750);

        // 출력 파일을 저장합니다.
        mender.Save(_dataDir + "PdfFileMend04_output.pdf");
    }

이미지 추가

두 번째 코드 스니펫을 고려해봅시다. CompositingParameters 클래스 매개변수의 변형을 사용하여 다양한 디자인 효과를 얻을 수 있습니다. 우리는 그 중 하나를 시도했습니다.

 public static void AddImage02()
    {
        Document document = new Document(_dataDir + "sample_color.pdf");
        PdfFileMend mender = new PdfFileMend();
        // 이미지를 스트림에 로드
        var imageStream = System.IO.File.OpenRead(_dataDir + "logo.png");
        mender.BindPdf(document);
        int pageNum = 1;
        int lowerLeftX = 10;
        int lowerLeftY = 650;
        int upperRightX = 110;
        int upperRightY = 750;
        CompositingParameters compositingParameters = new CompositingParameters(BlendMode.Multiply);
        mender.AddImage(imageStream, pageNum, lowerLeftX, lowerLeftY, upperRightX, upperRightY, compositingParameters);

        // 출력 파일 저장
        mender.Save(_dataDir + "PdfFileMend05_output.pdf");
    }

이미지 추가

다음 코드 스니펫에서는 ImageFilterType을 사용합니다. ImageFilterType은 인코딩에 사용될 스트림 코덱의 유형을 나타내며, 기본적으로 Jpeg입니다. PNG 형식에서 이미지를 로드하면 문서에 JPEG(또는 내가 지정한 다른 형식)으로 저장됩니다.

    public static void AddImage03()
    {
        Document document = new Document(_dataDir + "sample_color.pdf");
        PdfFileMend mender = new PdfFileMend();
        // 이미지를 스트림으로 로드
        var imageStream = System.IO.File.OpenRead(_dataDir + "logo.png");
        mender.BindPdf(document);
        int pageNum = 1;
        int lowerLeftX = 10;
        int lowerLeftY = 650;
        int upperRightX = 110;
        int upperRightY = 750;
        CompositingParameters compositingParameters = new CompositingParameters(BlendMode.Exclusion, ImageFilterType.Flate);
        mender.AddImage(imageStream, pageNum, lowerLeftX, lowerLeftY, upperRightX, upperRightY, compositingParameters);

        // 출력 파일 저장
        mender.Save(_dataDir + "PdfFileMend06_output.pdf");
    }

다음 코드 스니펫에서 IsMasked 메서드의 사용을 주목할 수 있습니다.

IsMasked는 플래그로, 원본 이미지의 투명성을 달성하기 위해 이미지에 마스크를 적용할지를 나타냅니다.

public static void AddImage04()
{
    Document document = new Document(_dataDir + "sample_color.pdf");
    PdfFileMend mender = new PdfFileMend();
    // 스트림에 이미지를 로드합니다
    var imageStream = System.IO.File.OpenRead(_dataDir + "logo.png");
    mender.BindPdf(document);
    int pageNum = 1;
    int lowerLeftX = 10;
    int lowerLeftY = 650;
    int upperRightX = 110;
    int upperRightY = 750;
    CompositingParameters compositingParameters = new CompositingParameters(BlendMode.Multiply, ImageFilterType.Flate,false);
    mender.AddImage(imageStream, pageNum, lowerLeftX, lowerLeftY, upperRightX, upperRightY, compositingParameters);

    // 출력 파일을 저장합니다
    mender.Save(_dataDir + "PdfFileMend07_output.pdf");
}