Konwersja obrazów do formatu PDF jest ważnym i użytecznym scenariuszem dla aplikacji do przetwarzania plików. W tym artykule nauczymy się konwertować obrazy JPG, PNG, TIFF, EMF, WMF i BMP do konwersji PDF za pomocą C# lub VB.NET. Poniżej przedstawiono kroki instalacji i kilka możliwych przypadków użycia konwersji obrazów:
- JPG, PNG, TIFF, EMF i BMP to PDF Converter API — instalacja
- Konwertuj JPG na PDF za pomocą C#
- Konwertuj obraz na PDF z tą samą wysokością i szerokością strony w C#
- Konwertuj PNG na PDF za pomocą C#
- Konwertuj TIFF na PDF za pomocą C#
- Konwertuj obraz EMF na PDF za pomocą C#
- Konwertuj BMP na PDF za pomocą C#
C# Image to PDF Converter API — instalacja
Będziemy wykonywać te formaty obrazów do konwersji PDF za pomocą Aspose.PDF for .NET API. Możesz pobrać go z sekcji Releases lub przez NuGet Gallery za pomocą następującego polecenia:
Install-Package Aspose.Pdf -Version 20.9.0
Interfejs API został już pomyślnie zainstalowany. Przejdźmy do zbadania różnych przypadków użycia:
Konwertuj JPG na PDF za pomocą C#
Możesz łatwo przekonwertować obraz JPG na format PDF, wykonując następujące czynności:
- Zainicjuj obiekt klasy Document
- Dodaj nową stronę do dokumentu PDF
- Załaduj obraz JPG i dodaj do akapitu
- Zapisz wyjściowy plik PDF
Poniższy fragment kodu pokazuje, jak przekonwertować obraz JPG na PDF za pomocą języka C#:
// Załaduj wejściowy plik JPG
String path = dataDir + "Aspose.jpg";
// Zainicjuj nowy dokument PDF
Document doc = new Document();
// Dodaj pustą stronę w pustym dokumencie
Page page = doc.Pages.Add();
Aspose.Pdf.Image image = new Aspose.Pdf.Image();
image.File = (path);
// Dodaj obraz na stronie
page.Paragraphs.Add(image);
// Zapisz wyjściowy plik PDF
doc.Save(dataDir + "ImagetoPDF.pdf");
Poniżej znajduje się zrzut ekranu konwersji JPG do PDF:
Jednak na tym zrzucie ekranu można zauważyć, że obraz jest konwertowany na stronę PDF, ale w wyjściowym dokumencie PDF stosowane są domyślne wymiary strony i marginesy. Aspose.PDF for .NET API pozwala na kontrolowanie wymiarów strony i marginesów, co pomaga stworzyć dokładnie taki sam rozmiar pliku PDF jak wymiary obrazu. Przejdźmy do zbadania tej funkcji:
Konwertuj obraz do formatu PDF z tą samą wysokością i szerokością strony
Kontynuując ten przykład z powyższego przypadku użycia, ponieważ na powyższym zrzucie ekranu można zauważyć większy rozmiar strony. Nauczmy się konwertować obraz do formatu PDF o tej samej wysokości i szerokości strony. Otrzymamy wymiary obrazu i odpowiednio ustawimy wymiary strony dokumentu PDF, wykonując poniższe czynności:
- Załaduj plik obrazu wejściowego
- Uzyskaj wysokość i szerokość obrazu
- Ustaw wysokość, szerokość i marginesy strony
- Zapisz wyjściowy plik PDF
Poniższy fragment kodu pokazuje, jak przekonwertować obraz do formatu PDF z tą samą wysokością i szerokością strony za pomocą języka C#:
// Załaduj wejściowy plik obrazu JPG
String path = dataDir + "Aspose.jpg";
System.Drawing.Image srcImage = System.Drawing.Image.FromFile(path);
// Odczyt wysokości obrazu wejściowego
int h = srcImage.Height;
// Odczyt wysokości obrazu wejściowego
int w = srcImage.Width;
// Zainicjuj nowy dokument PDF
Document doc = new Document();
// Dodaj pustą stronę
Page page = doc.Pages.Add();
Aspose.Pdf.Image image = new Aspose.Pdf.Image();
image.File = (path);
// Ustaw wymiary strony i marginesy
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);
// Zapisz wyjściowy plik PDF
doc.Save(dataDir + "ImagetoPDF_HeightWidth.pdf");
Możesz więc zauważyć różnicę w wymiarach strony, która została utworzona ze zaktualizowanym fragmentem kodu:
Na koniec można zauważyć, że rozmiar strony jest dokładnie taki sam, jak w przypadku wymiarów obrazu wejściowego, i nie ma już ustawianych domyślnych marginesów strony.
Konwertuj PNG na PDF za pomocą C#
Format obrazu PNG jest popularny ze względu na swoje funkcje w porównaniu z obrazami JPG. Na przykład obrazy PNG obsługują przezroczystość. Po pierwsze, przekonwertujmy PNG na PDF, wykonując poniższe czynności:
- Załaduj wejściowy obraz PNG
- Odczytaj wartości wysokości i szerokości
- Utwórz nowy dokument i dodaj stronę
- Ustaw wymiary strony
- Zapisz plik wyjściowy
Ponadto poniższy fragment kodu pokazuje, jak przekonwertować PNG na PDF za pomocą C# w aplikacjach .NET:
// Załaduj wejściowy plik PNG
String path = dataDir + "Aspose.png";
System.Drawing.Image srcImage = System.Drawing.Image.FromFile(path);
int h = srcImage.Height;
int w = srcImage.Width;
// Zainicjuj nowy dokument
Document doc = new Document();
Page page = doc.Pages.Add();
Aspose.Pdf.Image image = new Aspose.Pdf.Image();
image.File = (path);
// Ustaw wymiary strony
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);
// Zapisz wyjściowy plik PDF
doc.Save(dataDir + "ImagetoPDF.pdf");
Konwertuj TIFF na PDF za pomocą C#
Obraz TIFF różni się od konwencjonalnych formatów JPEG, PNG i innych tym, że obraz TIFF może zawierać kilka klatek z różnymi obrazami. Obsługiwany jest również format pliku Aspose.PDF, niezależnie od tego, czy jest to pojedyncza klatka, czy wieloklatkowy obraz TIFF. Możesz więc przekonwertować obraz TIFF na format PDF w swoich aplikacjach .NET. Dlatego rozważymy przykład konwersji wielostronicowego obrazu TIFF na wielostronicowy dokument PDF z poniższymi krokami:
- Utwórz instancję klasy Document.
- Załaduj wejściowy obraz TIFF
- Pobierz FrameDimension ramek
- Dodaj nową stronę dla każdej ramki
- Na koniec zapisz obrazy na stronach PDF
Ponadto poniższy fragment kodu pokazuje, jak przekonwertować wielostronicowy lub wieloramkowy obraz TIFF do formatu PDF za pomocą języka C#:
// Zainicjuj nowy dokument
Document pdf = new Document();
//Załaduj obraz TIFF do strumienia
MemoryStream ms = new MemoryStream();
new FileStream(dataDir + @"Aspose.tiff", FileMode.Open).CopyTo(ms);
Bitmap myimage = new Bitmap(ms);
// Konwertuj wielostronicowy lub wieloramkowy plik TIFF do formatu PDF
FrameDimension dimension = new FrameDimension(myimage.FrameDimensionsList[0]);
int frameCount = myimage.GetFrameCount(dimension);
// Iteruj przez każdą ramkę
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);
}
// Zapisz wyjściowy plik PDF
pdf.Save(dataDir + "TifftoPDF.pdf");
Konwertuj obraz EMF na PDF za pomocą C#
Obrazy EMF, znane również jako Enhanced Metafile Format, są w rzeczywistości obrazami niezależnymi od urządzenia. Ponadto możesz przekonwertować EMF na obraz PDF, wykonując poniższe czynności:
- Najpierw zainicjuj obiekt klasy Document.
- Załaduj plik obrazu EMF
- Dodaj załadowany obraz EMF do strony
- Zapisz dokument PDF
Ponadto poniższy fragment kodu pokazuje, jak przekonwertować plik EMF na PDF za pomocą C# we fragmencie kodu .NET:
// Zainicjuj nowy dokument PDF
var doc = new Document();
// Określ ścieżkę wejściowego pliku obrazu 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);
// Określ właściwości wymiarów strony
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);
//Zapisz wyjściowy dokument PDF
doc.Save(dataDir + "EMFtoPDF.pdf");
Konwertuj BMP na PDF za pomocą C#
Obrazy BMP to obrazy bitmapowe, które można przekonwertować do formatu PDF za pomocą Aspose.PDF for .NET API. Dlatego możesz wykonać następujące kroki, aby przekonwertować obrazy BMP:
- Zainicjuj nowy dokument
- Załaduj wejściowy obraz BMP
- Na koniec zapisz wyjściowy plik PDF
Poniższy fragment kodu wykonuje następujące kroki i pokazuje, jak przekonwertować BMP na PDF za pomocą C#:
Initialize empty PDF document
using (Document pdfDocument = new Document())
{
pdfDocument.Pages.Add();
Aspose.Pdf.Image image = new Aspose.Pdf.Image();
// Załaduj przykładowy plik obrazu BMP
image.File = dataDir + @"Sample.bmp";
pdfDocument.Pages[1].Paragraphs.Add(image);
// Zapisz wyjściowy dokument PDF
pdfDocument.Save(dataDir + @"BMPtoPDF.pdf");
}
Informacja: Inne interfejsy API firmy Aspose, zwłaszcza Aspose.Slides for .NET, mogą również umożliwiać wykonanie tych [obraz w formacie PDF](https:// products.aspose.com/slides/net/conversion/image-to-pdf/) zadania konwersji: JPG do PDF i PNG do PDF.
Wniosek
W końcu zbadaliśmy konwersję obrazów do formatu PDF z różnych aspektów przy użyciu języka C#. Szczegółowo omówiono różne konwersje, w tym konwersję JPG, PNG, TIFF, EMF i BMP na PDF. Ponadto nauczyliśmy się, jak poprawić renderowanie obrazu do formatu PDF, ustawiając rozmiar strony i marginesy. Ponadto, jeśli nadal masz pytania lub pytania, skontaktuj się z nami pod adresem Bezpłatne forum pomocy.