Mengonversi PDF ke Format Gambar

Aspose.PDF untuk PHP memungkinkan Anda mengonversi dokumen PDF ke format gambar seperti BMP, JPEG, GIF, PNG, EMF, TIFF, dan SVG menggunakan dua pendekatan. Konversi dilakukan menggunakan Device dan menggunakan SaveOption.

Ada beberapa kelas dalam pustaka yang memungkinkan Anda menggunakan perangkat virtual untuk mengubah gambar. DocumentDevice berorientasi untuk mengonversi seluruh dokumen, tetapi ImageDevice - untuk halaman tertentu.

Mengonversi PDF menggunakan kelas DocumentDevice

Aspose.PDF untuk PHP memungkinkan konversi Halaman PDF ke gambar TIFF.

Kelas TiffDevice memungkinkan Anda mengonversi halaman PDF ke gambar TIFF. Kelas ini menyediakan metode bernama Process yang memungkinkan Anda untuk mengubah semua halaman dalam file PDF menjadi satu gambar TIFF.

Mengonversi Halaman PDF ke Satu Gambar TIFF

Aspose.PDF untuk PHP menjelaskan cara mengonversi semua halaman dalam file PDF menjadi satu gambar TIFF:

  1. Buat objek dari kelas Document.
  2. Panggil metode Process untuk mengonversi dokumen.
  3. Untuk mengatur properti file keluaran, gunakan kelas TiffSettings.

Cuplikan kode berikut menunjukkan cara mengonversi semua halaman PDF menjadi satu gambar TIFF.

// Memuat dokumen PDF
$document = new Document($inputFile);

// Membuat objek TiffSettings baru
$tiffSettings = new devices_TiffSettings();

// Batalkan komentar pada baris berikut untuk menyesuaikan pengaturan TIFF
// $tiffSettings->setCompression(devices_CompressionType::$NoneNone);
// $tiffSettings->setDepth(devices_ColorDepth::$DefaultDefault);
// $tiffSettings->setShape(devices_ShapeType::$Portrait);
// $tiffSettings->setSkipBlankPages(false);

// Mengatur resolusi untuk gambar TIFF
$resolution = new devices_Resolution(300);

// Membuat objek TiffDevice baru dengan resolusi dan pengaturan yang ditentukan
$tiffDevice = new devices_TiffDevice($resolution, $tiffSettings);

// Mengonversi dokumen PDF ke TIFF menggunakan TiffDevice
$tiffDevice->process($document, $outputFile);

Mengonversi Halaman Tunggal ke Gambar TIFF

Aspose.PDF untuk PHP memungkinkan untuk mengonversi halaman tertentu dalam file PDF ke gambar TIFF, gunakan versi yang di-overload dari metode Process(..) yang mengambil nomor halaman sebagai argumen untuk konversi. Cuplikan kode berikut menunjukkan cara mengonversi halaman pertama dari PDF ke format TIFF.

// Memuat dokumen PDF
$document = new Document($inputFile);

// Membuat objek TiffSettings baru
$tiffSettings = new devices_TiffSettings();

// Hapus komentar pada baris berikut untuk menyesuaikan pengaturan TIFF
// $tiffSettings->setCompression(devices_CompressionType::$NoneNone);
// $tiffSettings->setDepth(devices_ColorDepth::$DefaultDefault);
// $tiffSettings->setShape(devices_ShapeType::$Portrait);
// $tiffSettings->setSkipBlankPages(false);

// Mengatur resolusi untuk gambar TIFF
$resolution = new devices_Resolution(300);

// Membuat objek TiffDevice baru dengan resolusi dan pengaturan yang ditentukan
$tiffDevice = new devices_TiffDevice($resolution, $tiffSettings);

// Mengonversi dokumen PDF ke TIFF menggunakan TiffDevice
$tiffDevice->process($document, 1, 1, $outputFile);

Gunakan algoritma Bradley selama konversi

Aspose.PDF untuk PHP telah mendukung fitur untuk mengkonversi PDF ke TIFF menggunakan kompresi LZW dan kemudian dengan menggunakan AForge, Binarisasi dapat diterapkan. Namun salah satu pelanggan meminta bahwa untuk beberapa gambar, mereka perlu mendapatkan Threshold menggunakan Otsu, jadi mereka juga ingin menggunakan Bradley.

// Buat objek TiffSettings baru
$tiffSettings = new devices_TiffSettings();

// Hapus komentar baris berikut untuk menyesuaikan pengaturan TIFF
// $tiffSettings->setCompression(devices_CompressionType::$NoneNone);
// $tiffSettings->setDepth(devices_ColorDepth::$DefaultDefault);
// $tiffSettings->setShape(devices_ShapeType::$Portrait);
// $tiffSettings->setSkipBlankPages(false);

$outputImageFile = new java("java.io.FileOutputStream", $outputImageFileName);
$outputBinImageFile = new java("java.io.FileOutputStream", $outputBinImageFileName);

// Atur resolusi untuk gambar TIFF
$resolution = new devices_Resolution(300);

// Buat objek TiffDevice baru dengan resolusi dan pengaturan yang ditentukan
$tiffDevice = new devices_TiffDevice($resolution, $tiffSettings);

// Konversi dokumen PDF ke TIFF menggunakan TiffDevice
$tiffDevice->process($document, 1, 1, $outputFile);

// Buat objek stream untuk menyimpan gambar keluaran
$inStream = new java("java.io.FileInputStream",$outputImageFileName);
$tiffDevice->binarizeBradley($inStream, $outputBinImageFile, 0.1);

Mengonversi Halaman PDF ke Gambar TIFF Berpiksel

Untuk mengonversi semua halaman dalam file PDF ke format TIFF Berpiksel, gunakan opsi Piksel dari IndexedConversionType

// Buat objek TiffSettings baru
$tiffSettings = new devices_TiffSettings();

// Hapus komentar baris berikut untuk menyesuaikan pengaturan TIFF
// $tiffSettings->setCompression(devices_CompressionType::$NoneNone);
// $tiffSettings->setDepth(devices_ColorDepth::$DefaultDefault);
// $tiffSettings->setShape(devices_ShapeType::$Portrait);
// $tiffSettings->setSkipBlankPages(false);
// atur kecerahan gambar
$tiffSettings->setBrightness(0.5f);
// atur IndexedConversion Type, nilai default adalah simple
$tiffSettings->setIndexedConversionType(IndexedConversionType::Pixelated);


$outputImageFile = new java("java.io.FileOutputStream", $outputImageFileName);
$outputBinImageFile = new java("java.io.FileOutputStream", $outputBinImageFileName);

// Atur resolusi untuk gambar TIFF
$resolution = new devices_Resolution(300);

// Buat objek TiffDevice baru dengan resolusi dan pengaturan yang ditentukan
$tiffDevice = new devices_TiffDevice($resolution, $tiffSettings);

// Konversi dokumen PDF ke TIFF menggunakan TiffDevice
$tiffDevice->process($document, 1, 1, $outputFile);

// Buat objek stream untuk menyimpan gambar keluaran
$inStream = new java("java.io.FileInputStream",$outputImageFileName);
$tiffDevice->binarizeBradley($inStream, $outputBinImageFile, 0.1);

Konversi PDF menggunakan kelas ImageDevice

ImageDevice adalah nenek moyang untuk BmpDevice, JpegDevice, GifDevice, PngDevice, dan EmfDevice.

  • Kelas BmpDevice memungkinkan Anda untuk mengonversi halaman PDF ke gambar BMP.

  • Kelas EmfDevice memungkinkan Anda untuk mengonversi halaman PDF ke gambar EMF.

  • Kelas JpegDevice memungkinkan Anda untuk mengonversi halaman PDF ke gambar JPEG.

  • Kelas PngDevice memungkinkan Anda untuk mengonversi halaman PDF ke gambar PNG.

  • Kelas GifDevice memungkinkan Anda untuk mengonversi halaman PDF ke gambar GIF.

Mari kita lihat bagaimana cara mengonversi halaman PDF ke gambar.

Kelas BmpDevice menyediakan metode bernama Process yang memungkinkan Anda untuk mengonversi halaman tertentu dari file PDF ke format gambar BMP. Kelas lainnya memiliki metode yang sama. Jadi, jika kita perlu mengonversi halaman PDF ke gambar, kita hanya perlu membuat instans dari kelas yang diperlukan.

Cuplikan kode berikut menunjukkan kemungkinan ini:

// Muat dokumen PDF
$document = new Document($inputFile);

// Dapatkan koleksi halaman dalam dokumen
$pages = $document->getPages();

// Dapatkan jumlah total halaman dalam dokumen
$count = $pages->size();

// Atur resolusi untuk gambar PNG
$resolution = new devices_Resolution(300);

// Buat perangkat PNG baru dengan resolusi yang ditentukan
$imageDevice = new devices_PngDevice($resolution);

// Loop melalui setiap halaman dalam dokumen
for ($pageCount = 1; $pageCount <= $document->getPages()->size(); $pageCount++) {
    // Atur nama file gambar keluaran untuk halaman saat ini
    $imageFileName = $imageFileNameTemplate . $pageCount . '.png';

    // Dapatkan halaman saat ini dari koleksi
    $page = $document->getPages()->get_Item($pageCount);

    // Proses halaman saat ini dan simpan sebagai gambar PNG
    $imageDevice->process($page, $imageFileName);
}

Konversi PDF menggunakan kelas SaveOptions

Bagian artikel ini menunjukkan kepada Anda bagaimana mengonversi PDF ke SVG menggunakan Java dan kelas SaveOptions.

Scalable Vector Graphics (SVG) adalah sekumpulan spesifikasi dari format file berbasis XML untuk grafik vektor dua dimensi, baik statis maupun dinamis (interaktif atau animasi). Spesifikasi SVG adalah standar terbuka yang telah dikembangkan oleh World Wide Web Consortium (W3C) sejak tahun 1999.

Gambar SVG dan perilakunya didefinisikan dalam file teks XML. Ini berarti bahwa mereka dapat dicari, diindeks, diskrip, dan jika diperlukan, dikompresi. Sebagai file XML, gambar SVG dapat dibuat dan diedit dengan editor teks apa pun, tetapi seringkali lebih nyaman untuk membuatnya dengan program gambar seperti Inkscape.

Mengonversi halaman PDF ke gambar SVG

Aspose.PDF untuk PHP mendukung fitur untuk mengonversi file PDF ke format SVG. Untuk memenuhi persyaratan ini, kelas SvgSaveOptions telah diperkenalkan ke dalam paket com.aspose.pdf. Buat sebuah objek dari SvgSaveOptions dan berikan sebagai argumen kedua ke metode Document.save(..).

Cuplikan kode berikut menunjukkan langkah-langkah untuk mengonversi file PDF ke format SVG.

// Memuat dokumen PDF
$document = new Document($inputFile);

// Membuat instance dari kelas SvgSaveOptions
$saveOption = new SvgSaveOptions();

// Menyimpan dokumen PDF sebagai SVG
$document->save($outputFile, $saveOption);