이미지를 PDF로 변환하는 것은 파일 처리 응용 프로그램에 중요하고 유용한 시나리오입니다. 이 기사에서는 C# 또는 VB.NET을 사용하여 JPG, PNG, TIFF, EMF, WMF 및 BMP 이미지를 PDF로 변환하는 방법을 배웁니다. 다음은 설치 단계와 이미지 변환에 사용할 수 있는 몇 가지 사용 사례입니다.
- JPG, PNG, TIFF, EMF, BMP to PDF Converter API - 설치
- C#을 사용하여 JPG를 PDF로 변환
- C#에서 동일한 페이지 높이와 너비로 이미지를 PDF로 변환
- C#을 사용하여 PNG를 PDF로 변환
- C#을 사용하여 TIFF를 PDF로 변환
- C#을 사용하여 EMF 이미지를 PDF로 변환
- C#을 사용하여 BMP를 PDF로 변환
C# 이미지를 PDF 변환기 API로 - 설치
Aspose.PDF for .NET API를 사용하여 이러한 이미지 형식을 PDF로 변환할 것입니다. 릴리스 섹션에서 다운로드하거나 다음 명령을 사용하여 NuGet 갤러리를 통해 다운로드할 수 있습니다.
Install-Package Aspose.Pdf -Version 20.9.0
이제 API가 성공적으로 설치되었습니다. 계속해서 다양한 사용 사례를 살펴보겠습니다.
C#을 사용하여 JPG를 PDF로 변환
다음 단계에 따라 JPG 이미지를 PDF로 쉽게 변환할 수 있습니다.
- Document 클래스의 객체 초기화
- PDF 문서에 새 페이지 추가
- JPG 이미지를 로드하고 단락에 추가
- 출력 PDF 저장
아래 코드 조각은 C#을 사용하여 JPG 이미지를 PDF로 변환하는 방법을 보여줍니다.
// 입력 JPG 파일 로드
String path = dataDir + "Aspose.jpg";
// 새 PDF 문서 초기화
Document doc = new Document();
// 빈 문서에 빈 페이지 추가
Page page = doc.Pages.Add();
Aspose.Pdf.Image image = new Aspose.Pdf.Image();
image.File = (path);
// 페이지에 이미지 추가
page.Paragraphs.Add(image);
// 출력 PDF 파일 저장
doc.Save(dataDir + "ImagetoPDF.pdf");
아래는 JPG를 PDF로 변환한 스크린샷입니다.
그러나 이 스크린샷에서 이미지가 PDF 페이지로 변환된 것을 알 수 있지만 기본 페이지 크기와 여백은 출력 PDF 문서에 적용됩니다. Aspose.PDF for .NET API를 사용하면 페이지 크기와 여백을 제어하여 이미지 크기와 똑같은 크기의 PDF를 만들 수 있습니다. 이 기능을 계속 탐색해 보겠습니다.
동일한 페이지 높이와 너비로 이미지를 PDF로 변환
위의 스크린샷에서 더 큰 페이지 크기를 알 수 있듯이 위의 사용 사례에서 이 예를 계속합니다. 페이지의 높이와 너비가 같은 이미지를 PDF로 변환하는 방법을 알아보겠습니다. 이미지 크기를 가져오고 그에 따라 아래 단계에 따라 PDF 문서의 페이지 크기를 설정합니다.
- 입력 이미지 파일 로드
- 이미지의 높이와 너비 가져오기
- 페이지의 높이, 너비 및 여백 설정
- 출력 PDF 파일 저장
다음 코드 조각은 C#을 사용하여 페이지 높이와 너비가 동일한 이미지를 PDF로 변환하는 방법을 보여줍니다.
// 입력 JPG 이미지 파일 로드
String path = dataDir + "Aspose.jpg";
System.Drawing.Image srcImage = System.Drawing.Image.FromFile(path);
// 입력 이미지의 높이 읽기
int h = srcImage.Height;
// 입력 이미지의 높이 읽기
int w = srcImage.Width;
// 새 PDF 문서 초기화
Document doc = new Document();
// 빈 페이지 추가
Page page = doc.Pages.Add();
Aspose.Pdf.Image image = new Aspose.Pdf.Image();
image.File = (path);
// 페이지 크기 및 여백 설정
page.PageInfo.Height = (h);
page.PageInfo.Width = (w);
page.PageInfo.Margin.Bottom = (0);
page.PageInfo.Margin.Top = (0);
page.PageInfo.Margin.Right = (0);
page.PageInfo.Margin.Left = (0);
page.Paragraphs.Add(image);
// 출력 PDF 파일 저장
doc.Save(dataDir + "ImagetoPDF_HeightWidth.pdf");
따라서 업데이트된 코드 조각으로 생성된 페이지 크기의 차이를 확인할 수 있습니다.
마지막으로 입력 이미지 크기에 따라 페이지 크기가 정확히 유사하며 이제 더 이상 기본 페이지 여백이 설정되지 않음을 알 수 있습니다.
C#을 사용하여 PNG를 PDF로 변환
PNG 이미지 형식은 JPG 이미지와 비교할 때 그 특징 때문에 널리 사용됩니다. 예를 들어 PNG 이미지는 투명도를 지원합니다. 먼저 아래 단계에 따라 PNG를 PDF로 변환해 보겠습니다.
- 입력 PNG 이미지 로드
- 높이 및 너비 값 읽기
- 새 문서 만들기 및 페이지 추가
- 페이지 크기 설정
- 출력 파일 저장
또한 아래 코드 조각은 .NET 응용 프로그램에서 C#을 사용하여 PNG를 PDF로 변환하는 방법을 보여줍니다.
// 입력 PNG 파일 로드
String path = dataDir + "Aspose.png";
System.Drawing.Image srcImage = System.Drawing.Image.FromFile(path);
int h = srcImage.Height;
int w = srcImage.Width;
// 새 문서 초기화
Document doc = new Document();
Page page = doc.Pages.Add();
Aspose.Pdf.Image image = new Aspose.Pdf.Image();
image.File = (path);
// 페이지 크기 설정
page.PageInfo.Height = (h);
page.PageInfo.Width = (w);
page.PageInfo.Margin.Bottom = (0);
page.PageInfo.Margin.Top = (0);
page.PageInfo.Margin.Right = (0);
page.PageInfo.Margin.Left = (0);
page.Paragraphs.Add(image);
// 출력 PDF 저장
doc.Save(dataDir + "ImagetoPDF.pdf");
C#을 사용하여 TIFF를 PDF로 변환
TIFF 이미지는 TIFF 이미지가 다른 이미지를 가진 여러 프레임을 포함할 수 있다는 점에서 기존의 JPEG, PNG 또는 기타 형식과 다릅니다. 단일 프레임 또는 다중 프레임 TIFF 이미지인 Aspose.PDF 파일 형식도 지원됩니다. 따라서 .NET 응용 프로그램에서 TIFF 이미지를 PDF로 변환할 수 있습니다. 따라서 아래 단계에 따라 다중 페이지 TIFF 이미지를 다중 페이지 PDF 문서로 변환하는 예를 고려할 것입니다.
- Document 클래스의 인스턴스를 인스턴스화합니다.
- 입력 TIFF 이미지 로드
- 프레임의 FrameDimension 가져오기
- 각 프레임에 대해 새 페이지 추가
- 마지막으로 이미지를 PDF 페이지에 저장합니다.
또한 다음 코드 조각은 다중 페이지 또는 다중 프레임 TIFF 이미지를 C#을 사용하여 PDF로 변환하는 방법을 보여줍니다.
// 새 문서 초기화
Document pdf = new Document();
//스트림에 TIFF 이미지 로드
MemoryStream ms = new MemoryStream();
new FileStream(dataDir + @"Aspose.tiff", FileMode.Open).CopyTo(ms);
Bitmap myimage = new Bitmap(ms);
// 다중 페이지 또는 다중 프레임 TIFF를 PDF로 변환
FrameDimension dimension = new FrameDimension(myimage.FrameDimensionsList[0]);
int frameCount = myimage.GetFrameCount(dimension);
// 각 프레임을 통해 반복
for (int frameIdx = 0; frameIdx <= frameCount - 1; frameIdx++)
{
Page sec = pdf.Pages.Add();
myimage.SelectActiveFrame(dimension, frameIdx);
MemoryStream currentImage = new MemoryStream();
myimage.Save(currentImage, ImageFormat.Tiff);
Aspose.Pdf.Image imageht = new Aspose.Pdf.Image();
imageht.ImageStream = currentImage;
sec.Paragraphs.Add(imageht);
}
// 출력 PDF 파일 저장
pdf.Save(dataDir + "TifftoPDF.pdf");
C#을 사용하여 EMF 이미지를 PDF로 변환
EMF 확장 메타파일 형식이라고도 하는 이미지는 실제로 장치 독립적인 이미지입니다. 또한 아래 단계를 사용하여 EMF를 PDF 이미지로 변환할 수 있습니다.
- 먼저 Document 클래스 객체를 초기화합니다.
- EMF 이미지 파일 로드
- 로드된 EMF 이미지를 페이지에 추가
- PDF 문서 저장
또한 다음 코드 조각은 .NET 코드 조각에서 C#을 사용하여 EMF를 PDF로 변환하는 방법을 보여줍니다.
// 새 PDF 문서 초기화
var doc = new Document();
// 입력 EMF 이미지 파일의 경로 지정
var imageFile = dataDir + "drawing.emf";
var page = doc.Pages.Add();
string file = imageFile;
FileStream filestream = new FileStream(file, FileMode.Open, FileAccess.Read);
BinaryReader reader = new BinaryReader(filestream);
long numBytes = new FileInfo(file).Length;
byte[] bytearray = reader.ReadBytes((int)numBytes);
Stream stream = new MemoryStream(bytearray);
var b = new Bitmap(stream);
// 페이지 크기 속성 지정
page.PageInfo.Margin.Bottom = 0;
page.PageInfo.Margin.Top = 0;
page.PageInfo.Margin.Left = 0;
page.PageInfo.Margin.Right = 0;
page.PageInfo.Width = b.Width;
page.PageInfo.Height = b.Height;
var image = new Aspose.Pdf.Image();
image.File = imageFile;
page.Paragraphs.Add(image);
//출력 PDF 문서 저장
doc.Save(dataDir + "EMFtoPDF.pdf");
C#을 사용하여 BMP를 PDF로 변환
BMP 이미지는 Aspose.PDF for .NET API를 사용하여 PDF로 변환할 수 있는 비트맵 이미지입니다. 따라서 다음 단계에 따라 BMP 이미지를 변환할 수 있습니다.
- 새 문서 초기화
- 입력 BMP 이미지 로드
- 마지막으로 출력 PDF 파일을 저장합니다.
따라서 다음 코드 조각은 이러한 단계를 따르고 C#을 사용하여 BMP를 PDF로 변환하는 방법을 보여줍니다.
Initialize empty PDF document
using (Document pdfDocument = new Document())
{
pdfDocument.Pages.Add();
Aspose.Pdf.Image image = new Aspose.Pdf.Image();
// 샘플 BMP 이미지 파일 로드
image.File = dataDir + @"Sample.bmp";
pdfDocument.Pages[1].Paragraphs.Add(image);
// 출력 PDF 문서 저장
pdfDocument.Save(dataDir + @"BMPtoPDF.pdf");
}
결론
결국 C#을 사용하여 다양한 측면에서 이미지를 PDF로 변환하는 방법을 살펴보았습니다. JPG, PNG, TIFF, EMF 및 BMP에서 PDF로의 변환을 포함한 다양한 변환에 대해 자세히 설명했습니다. 또한 페이지 크기와 여백을 설정하면서 이미지를 PDF 렌더링으로 개선하는 방법을 배웠습니다. 또한 문의 사항이나 질문이 있는 경우 무료 지원 포럼에 문의하십시오.