C#을 사용하여 PDF에 바코드 추가

PDF는 문서 공유 및 인쇄에 가장 널리 사용되는 형식입니다. 많은 조직에서 보고서를 생성하고 다른 공식 문서를 공유하기 위한 표준 형식으로 PDF를 사용합니다. 경우에 따라 문서, 제품 또는 회사에 대한 특정 데이터 또는 정보를 PDF 문서에 바코드 이미지로 포함해야 할 수 있습니다. .NET 응용 프로그램에서 프로그래밍 방식으로 기계 판독 가능한 바코드 이미지를 PDF 문서에 추가할 수 있습니다. 이 기사에서는 C#을 사용하여 PDF 문서에 바코드를 추가하는 방법을 배웁니다.

이 기사에서는 다음 주제를 다룹니다.

PDF에 바코드를 추가하는 C# API

PDF 문서에 바코드를 추가하려면 2단계 절차를 따릅니다. 먼저 Aspose.PDF for .NET API를 사용하여 PDF 문서를 생성하거나 로드한 다음 [Aspose.BarCode for .NET][을 사용하여 바코드 이미지를 생성하고 PDF에 추가합니다. 3] API. API의 DLL을 다운로드하거나 NuGet을 사용하여 설치하십시오.

PM> Install-Package Aspose.BarCode
PM> Install-Package Aspose.PDF

C#에서 PDF 문서 생성 및 바코드 추가

아래 단계에 따라 새 PDF 문서를 만들고 바코드 이미지를 PDF에 추가할 수 있습니다.

  1. 먼저 EncodeType과 인코딩할 텍스트를 인수로 사용하여 BarcodeGenerator 클래스의 인스턴스를 만듭니다.
  2. 다음으로 메모리 스트림 개체의 인스턴스를 만듭니다.
  3. 그런 다음 Save() 메서드를 호출하여 바코드 이미지를 메모리 스트림에 저장합니다.
  4. 다음으로 Document 클래스의 인스턴스를 만듭니다.
  5. 그런 다음 새로 생성된 PDF 문서에 페이지를 추가합니다.
  6. 다음으로 PdfFileMend 클래스의 인스턴스를 만듭니다.
  7. 그런 다음 Document 객체와 함께 BindPdf() 메서드를 호출하여 바인딩합니다.
  8. 그런 다음 스트림 객체와 이미지 위치 좌표를 인수로 사용하여 AddImage() 메서드를 호출합니다.
  9. 그런 다음 Save() 메서드를 사용하여 PDF를 저장합니다. 출력 PDF 파일 경로를 인수로 사용합니다.
  10. 마지막으로 Close() 메서드를 호출하여 PdfFileMend 개체를 닫습니다.

다음 코드 예제에서는 C#을 사용하여 새 PDF 문서를 만들고 바코드 이미지를 추가하는 방법을 보여줍니다.

// 이 코드 예제는 PDF에 바코드 이미지를 추가하는 방법을 보여줍니다.
// 문서 디렉토리의 경로입니다.
string dataDir = @"D:\Files\BarCode\";

// 선형 바코드 개체 인스턴스화, 바코드에 대한 코드 텍스트 및 기호 유형 설정
BarcodeGenerator generator = new BarcodeGenerator(EncodeTypes.Code39Standard, "1234567");

// 메모리 스트림 생성 및 바코드 이미지를 메모리 스트림에 저장
Stream ms = new MemoryStream();
generator.Save(ms, BarCodeImageFormat.Bmp);

// PDF 문서 만들기 및 문서에 페이지 추가
Document doc = new Document();
doc.Pages.Add();

// 문서 열기
PdfFileMend mender = new PdfFileMend();

// PDF를 바인딩하여 바코드 추가
mender.BindPdf(doc);

// PDF 파일에 바코드 이미지 추가
mender.AddImage(ms, 1, 100, 600, 200, 700);

// 변경 사항을 저장하다
mender.Save(dataDir + "AddImage_out.pdf");

// PdfFileMend 개체 닫기
mender.Close();
PDF 문서를 만들고 C#에서 바코드를 추가합니다.

PDF 문서를 만들고 C#에서 바코드를 추가합니다.

C#의 기존 PDF 문서에 바코드 추가

기존 PDF 문서의 모든 페이지에 바코드 이미지를 추가할 수도 있습니다. AddImage() 메서드를 사용하면 지정된 좌표에서 PDF 문서의 지정된 페이지에 이미지를 추가할 수 있습니다. 아래 단계에 따라 기존 PDF 문서에 이미지를 삽입할 수 있습니다.

  1. 먼저 EncodeType과 인코딩할 텍스트를 인수로 사용하여 BarcodeGenerator 클래스의 인스턴스를 만듭니다.
  2. 다음으로 메모리 스트림 개체의 인스턴스를 만듭니다.
  3. 그런 다음 Save() 메서드를 호출하여 바코드 이미지를 메모리 스트림에 저장합니다.
  4. 그런 다음 Document 클래스를 사용하여 PDF 문서를 로드합니다.
  5. 그런 다음 PdfFileMend 클래스의 인스턴스를 만듭니다.
  6. 다음으로 Document 객체와 함께 BindPdf() 메서드를 호출하여 바인딩합니다.
  7. 그런 다음 스트림 개체, 페이지 번호 및 이미지 위치 좌표를 인수로 사용하여 AddImage() 메서드를 호출합니다.
  8. 그런 다음 Save() 메서드를 사용하여 PDF를 저장합니다. 출력 PDF 파일 경로를 인수로 사용합니다.
  9. 마지막으로 Close() 메서드를 호출하여 PdfFileMend 개체를 닫습니다.

다음 코드 예제에서는 C#을 사용하여 기존 PDF 문서에 바코드 이미지를 추가하는 방법을 보여줍니다.

// 이 코드 예제는 기존 PDF에 바코드 이미지를 추가하는 방법을 보여줍니다.
// 문서 디렉토리의 경로입니다.
string dataDir = @"D:\Files\BarCode\";

// 선형 바코드 개체 인스턴스화, 바코드에 대한 코드 텍스트 및 기호 유형 설정
BarcodeGenerator generator = new BarcodeGenerator(EncodeTypes.Code39Standard, "1234567");

// 메모리 스트림 생성 및 바코드 이미지를 메모리 스트림에 저장
Stream ms = new MemoryStream();
generator.Save(ms, BarCodeImageFormat.Bmp);

// PDF 문서 로드
Document doc = new Document(dataDir + "sample.pdf");

// 문서 열기
PdfFileMend mender = new PdfFileMend();

// 바코드 이미지를 추가하려면 PDF를 바인딩하십시오.
mender.BindPdf(doc);

// PDF 파일에 바코드 이미지 추가
mender.AddImage(ms, 1, 70, 0, 200, 600);

// 변경 사항을 저장하다
mender.Save(dataDir + "Sample_out.pdf");

// PdfFileMend 개체 닫기
mender.Close();
C#의 기존 PDF 문서에 바코드를 추가합니다.

C#의 기존 PDF 문서에 바코드를 추가합니다.

C#에서 PDF 문서에 QR 코드 추가

마찬가지로 앞에서 언급한 단계에 따라 PDF 문서에 QR 코드를 추가할 수도 있습니다. 그러나 첫 번째 단계에서 EncodeType를 QR로 설정하기만 하면 됩니다. 7단계에서 이미지 위치를 조정해야 할 수도 있습니다.

다음 코드 예제에서는 C#을 사용하여 PDF 문서에 QR 코드를 추가하는 방법을 보여줍니다.

// 이 코드 예제는 기존 PDF에 QR 코드를 추가하는 방법을 보여줍니다.
// 문서 디렉토리의 경로입니다.
string dataDir = @"D:\Files\BarCode\";

// 선형 바코드 개체 인스턴스화, 바코드에 대한 코드 텍스트 및 기호 유형 설정
BarcodeGenerator generator = new BarcodeGenerator(EncodeTypes.QR, "1234567");

// 메모리 스트림 생성 및 바코드 이미지를 메모리 스트림에 저장
Stream ms = new MemoryStream();
generator.Save(ms, BarCodeImageFormat.Bmp);

// PDF 문서 로드
Document doc = new Document(dataDir + "sample.pdf");

// 문서 열기
PdfFileMend mender = new PdfFileMend();

// 바코드 이미지를 추가하려면 PDF 바인딩
mender.BindPdf(doc);

// PDF 파일에 QR 이미지 추가
mender.AddImage(ms, 1, 0, 650, 200, 780);

// 변경 사항을 저장하다
mender.Save(dataDir + "Sample_QR_out.pdf");

// PdfFileMend 개체 닫기
mender.Close();
C#에서 PDF 문서에 QR 코드를 추가합니다.

C#에서 PDF 문서에 QR 코드를 추가합니다.

C#을 사용하여 PDF 문서에서 바코드 읽기

PdfExtractor 클래스를 사용하여 PDF 문서의 모든 페이지에 포함된 바코드 이미지를 인식할 수 있습니다. PDF에서 이미지를 추출할 수 있으며 추출된 이미지에서 바코드 정보를 읽습니다. 다음 단계에 따라 PDF 문서에서 바코드를 읽을 수 있습니다.

  1. 먼저 PdfExtractor 클래스의 인스턴스를 만듭니다.
  2. 그런 다음 BindPdf() 메서드를 사용하여 입력된 PDF 문서를 바인딩합니다.
  3. 그런 다음 이미지 추출을 위한 페이지 범위를 설정합니다.
  4. 다음으로 ExtractImage() 메서드를 호출하여 이미지를 추출합니다.
  5. 그런 다음 루프에서 스트리밍할 이미지를 저장합니다.
  6. 다음으로 이미지 스트림과 DecodeType을 인수로 사용하여 BarCodeReader 클래스의 인스턴스를 만듭니다.
  7. 그런 다음 ReadBarCodes() 메서드를 호출하여 BarCodeResult 개체를 가져옵니다.
  8. 마지막으로 바코드 정보를 보여줍니다.

다음 코드 예제에서는 C#을 사용하여 PDF 문서에서 바코드 이미지를 읽는 방법을 보여줍니다.

// 이 코드 예제는 PDF에서 바코드를 읽는 방법을 보여줍니다.
// 문서 디렉토리의 경로입니다.
string dataDir = @"D:\Files\BarCode\sample_out.pdf";

// pdf 문서 바인딩
Aspose.Pdf.Facades.PdfExtractor pdfExtractor = new Aspose.Pdf.Facades.PdfExtractor();
pdfExtractor.BindPdf(dataDir);

// 이미지 추출을 위한 페이지 범위 설정
pdfExtractor.StartPage = 1;
pdfExtractor.EndPage = 1;

// 이미지 추출
pdfExtractor.ExtractImage();

// 루프에서 스트리밍할 이미지 저장
while (pdfExtractor.HasNextImage())
{
  // 스트림에 이미지 저장
  MemoryStream imageStream = new MemoryStream();
  pdfExtractor.GetNextImage(imageStream);
  imageStream.Position = 0;

  // 위의 이미지 스트림에서 바코드를 인식합니다.
  using (BarCodeReader reader = new BarCodeReader(imageStream, DecodeType.Code39Standard))
  {
    foreach (BarCodeResult result in reader.ReadBarCodes())
    {
      Console.WriteLine("Codetext found: " + result.CodeText);
      Console.WriteLine("Symbology: " + result.CodeType);
    }
  }
}
Codetext found: 1234567
Symbology: Code39Standard

무료 라이선스 받기

평가 제한 없이 라이브러리를 사용해 보려면 무료 임시 라이센스를 얻으십시오.

결론

이 문서에서는 다음 방법을 배웠습니다.

  • 프로그래밍 방식으로 PDF 문서를 생성합니다.
  • C#의 PDF에 바코드 이미지를 생성하고 추가합니다.
  • C#을 사용하여 PDF 문서에서 이미지 추출
  • PDF 문서에서 바코드 이미지를 읽습니다.

또한 문서를 사용하여 .NET API용 Aspose.BarCode에 대해 자세히 알아볼 수 있습니다. 모호한 부분이 있는 경우 포럼을 통해 언제든지 문의해 주십시오.

또한보십시오