Bekerja dengan gambar dalam PDF C#

Sebuah gambar bernilai seribu kata. Oleh karena itu, gambar dan grafik memainkan peran penting dalam PDF serta dokumen lainnya. Karena PDF telah menjadi salah satu format file yang paling populer dan banyak digunakan, artikel ini membahas cara memanipulasi gambar dalam file PDF secara terprogram. Lebih tepatnya, Anda akan mempelajari cara menambah, mengekstrak, menghapus, dan mengganti gambar dari file PDF di C# .NET.

C# API untuk Menambah, Menghapus, dan Mengganti Gambar dalam PDF - Unduhan Gratis

Aspose.PDF for .NET adalah pustaka kelas C# yang memungkinkan Anda membuat dan memanipulasi dokumen PDF dari dalam aplikasi .NET. Dengan menggunakan API, Anda dapat melakukan fitur otomatisasi PDF dasar dan lanjutan dengan cukup mudah. Selain itu, Anda dapat memanipulasi gambar dalam file PDF yang ada. API dapat diunduh sebagai DLL atau diinstal melalui NuGet.

PM> Install-Package Aspose.Pdf

Tambahkan Gambar dalam File PDF di C# .NET

Berikut langkah-langkah menambahkan gambar ke file PDF menggunakan Aspose.PDF for .NET.

  • Gunakan kelas Document untuk membuat yang baru atau memuat file PDF yang sudah ada.
  • Dapatkan referensi halaman yang diinginkan di objek Page.
  • Tambahkan gambar ke koleksi Sumber Daya halaman.
  • Gunakan operator berikut untuk menempatkan gambar di halaman:
    • GSave operator to save the current graphical state.
    • ConcatenateMatrix operator to specify where the image is to be placed.
    • Mengerjakan operator to draw the image on the page.
    • GRestore operator to save the updated graphical state.
  • Simpan file PDF yang diperbarui menggunakan metode Document.Save(String).

Contoh kode berikut menunjukkan cara menambahkan gambar ke file PDF menggunakan C#.

// Untuk contoh lengkap dan file data, silakan buka https://github.com/aspose-pdf/Aspose.PDF-for-.NET
// Buka dokumen
Document pdfDocument = new Document("AddImage.pdf");

// Tetapkan koordinat
int lowerLeftX = 100;
int lowerLeftY = 100;
int upperRightX = 200;
int upperRightY = 200;

// Dapatkan halaman tempat gambar perlu ditambahkan
Page page = pdfDocument.Pages[1];

// Muat gambar ke aliran
FileStream imageStream = new FileStream("aspose-logo.jpg", FileMode.Open);

// Tambahkan gambar ke koleksi Gambar Sumber Daya Halaman
page.Resources.Images.Add(imageStream);

// Menggunakan operator GSave: operator ini menyimpan status grafik saat ini
page.Contents.Add(new Aspose.Pdf.Operators.GSave());

// Buat objek Rectangle dan Matrix
Aspose.Pdf.Rectangle rectangle = new Aspose.Pdf.Rectangle(lowerLeftX, lowerLeftY, upperRightX, upperRightY);
Matrix matrix = new Matrix(new double[] { rectangle.URX - rectangle.LLX, 0, 0, rectangle.URY - rectangle.LLY, rectangle.LLX, rectangle.LLY });

// Menggunakan operator ConcatenateMatrix (concatenate matrix): menentukan bagaimana gambar harus ditempatkan
page.Contents.Add(new Aspose.Pdf.Operators.ConcatenateMatrix(matrix));
XImage ximage = page.Resources.Images[page.Resources.Images.Count];

// Menggunakan operator Do: operator ini menggambar gambar
page.Contents.Add(new Aspose.Pdf.Operators.Do(ximage.Name));

// Menggunakan operator GRestore: operator ini memulihkan status grafis
page.Contents.Add(new Aspose.Pdf.Operators.GRestore());

// Simpan dokumen yang diperbarui
pdfDocument.Save("AddImage_out.pdf");

Ekstrak Gambar dari PDF dalam C#

Jika Anda ingin mengekstrak semua gambar dari file PDF, Anda dapat melakukannya dengan mengikuti langkah-langkah di bawah ini.

Contoh kode berikut menunjukkan cara mengekstrak gambar dari PDF menggunakan C#.

// Untuk contoh lengkap dan file data, silakan buka https://github.com/aspose-pdf/Aspose.PDF-for-.NET
// Buka dokumen
Document pdfDocument = new Document("ExtractImages.pdf");

// Ekstrak gambar tertentu
XImage xImage = pdfDocument.Pages[1].Resources.Images[1];

FileStream outputImage = new FileStream("output.jpg", FileMode.Create);

// Simpan gambar keluaran
xImage.Save(outputImage, ImageFormat.Jpeg);
outputImage.Close();

Hapus Gambar dari PDF di C#

Setelah Anda mendapatkan akses ke sumber daya halaman dalam PDF, Anda dapat menghapus gambar darinya. Berikut ini adalah langkah-langkah untuk menghapus gambar dari file PDF menggunakan C#.

Contoh kode berikut menunjukkan cara menghapus gambar dari PDF menggunakan C#.

// Untuk contoh lengkap dan file data, silakan buka https://github.com/aspose-pdf/Aspose.PDF-for-.NET
// Buka dokumen
Document pdfDocument = new Document("DeleteImages.pdf");

// Hapus gambar tertentu
pdfDocument.Pages[1].Resources.Images.Delete(1);

// Simpan file PDF yang diperbarui
pdfDocument.Save("output.pdf");

Ganti Gambar dalam PDF di C#

Aspose.PDF for .NET juga memungkinkan Anda mengganti gambar tertentu di PDF. Untuk ini, Anda dapat mengganti gambar di koleksi gambar halaman. Berikut ini adalah langkah-langkah mengganti gambar di PDF menggunakan C#.

  • Muat file PDF menggunakan kelas Document.
  • Ganti gambar yang diinginkan menggunakan metode [Document.Pages1.Resources.Images.Replace(Int32, Stream, Int32, Boolean)]24.
  • Simpan file PDF yang diperbarui menggunakan metode Document.Save(String).

Contoh kode berikut menunjukkan cara mengganti gambar di PDF menggunakan C#.

// Untuk contoh lengkap dan file data, silakan buka https://github.com/aspose-pdf/Aspose.PDF-for-.NET
// Buka dokumen
Document pdfDocument = new Document("input.pdf");

// Ganti gambar tertentu
pdfDocument.Pages[1].Resources.Images.Replace(1, new FileStream("lovely.jpg", FileMode.Open));

// Simpan file PDF yang diperbarui
pdfDocument.Save("output.pdf");

C# .NET PDF API - Dapatkan Lisensi Gratis

Anda bisa mendapatkan lisensi sementara gratis untuk mencoba API tanpa batasan evaluasi.

Kesimpulan

Gambar dan objek grafis adalah elemen penting dari dokumen PDF. Oleh karena itu, dalam artikel ini, kami telah membahas cara memanipulasi gambar dalam PDF menggunakan C# .NET API. Tutorial langkah demi langkah dan contoh kode telah menunjukkan cara menambah, mengekstrak, menghapus, dan mengganti gambar dalam file PDF di C#. Anda dapat mempelajari lebih lanjut tentang C# PDF API menggunakan dokumentasi.

Lihat juga