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:

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:

  1. Zainicjuj obiekt klasy Document
  2. Dodaj nową stronę do dokumentu PDF
  3. Załaduj obraz JPG i dodaj do akapitu
  4. 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:

Obraz 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:

  1. Załaduj plik obrazu wejściowego
  2. Uzyskaj wysokość i szerokość obrazu
  3. Ustaw wysokość, szerokość i marginesy strony
  4. 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:

  1. Załaduj wejściowy obraz PNG
  2. Odczytaj wartości wysokości i szerokości
  3. Utwórz nowy dokument i dodaj stronę
  4. Ustaw wymiary strony
  5. 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:

  1. Utwórz instancję klasy Document.
  2. Załaduj wejściowy obraz TIFF
  3. Pobierz FrameDimension ramek
  4. Dodaj nową stronę dla każdej ramki
  5. 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:

  1. Najpierw zainicjuj obiekt klasy Document.
  2. Załaduj plik obrazu EMF
  3. Dodaj załadowany obraz EMF do strony
  4. 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:

  1. Zainicjuj nowy dokument
  2. Załaduj wejściowy obraz BMP
  3. 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.

Zobacz też

Konwertuj AI na pliki PNG, JPG, PSD i PDF za pomocą C# .NETKonwertuj obraz na DOC w C#Konwertuj obraz na DOCX w C#
Konwertuj JPG na DOC w C# .NETKonwertuj JPG na DOCX w C# .NETKonwertuj PNG na DOC w C# .NET
Konwertuj PNG na DOCX w C# .NETKonwertuj PPT na JPG w PythonKonwertuj SVG na PNG w Python
Tworzenie miniatur dla slajdów PPT w PythonDostosuj kontrast, jasność i gamma obrazu w JavieDostosuj kontrast, jasność i gamma obrazu w języku C#
Konwertuj obrazy JPG na PNG w C#Konwertuj obrazy JPG na PNG w JavieKonwertuj obrazy PNG na JPG w C#
Konwertuj obrazy PNG na JPG w JavieKonwertuj słowo na obraz w PythonWyodrębnij obrazy z dokumentów programu Word w języku C#
Wyodrębnij obrazy z dokumentów programu Word w JavieWyodrębnij obrazy z dokumentów programu Word w PythonZmiana rozmiaru obrazów w języku C#
Zmiana rozmiaru obrazów w JavieObracanie i odwracanie obrazów w języku C#Obracanie i odwracanie obrazów w Javie