Java'da GIF'i PDF'ye Dönüştürme

Java’da GIF’i PDF’ye Dönüştürme

PDF dosya formatı en popüler vektör tabanlı dosyalardan biridir. Öte yandan, GIF raster görüntülere dayalıdır ve görüntülerin animasyon olarak gösterilmesi söz konusu olduğunda çok şey sunar. Bu blog yazısında Java uygulamasında GIF’i PDF’ye nasıl dönüştüreceğinizi öğreneceksiniz. Bu nedenle, programlı olarak bir GIF’ten PDF’ye dönüştürücü oluşturmak için bu belge işlemeyi kütüphaneyi yükleyeceksiniz. GIF’ten PDF’ye dönüştürme sürecini otomatikleştirmek, iş uygulamanıza kesinlikle rekabet avantajı sağlayacaktır.

Aşağıdaki noktalardan geçeceksiniz:

GIF’ten PDF’ye dönüştürme - API kurulumu

Bu belge işleme kitaplığının Java projenize kurulumu çok basittir. Ancak JAR dosyasını indirebilir veya aşağıdaki Maven yapılandırmalarını kullanarak bu kitaplığı kurabilirsiniz.

<repository>
   <id>AsposeJavaAPI</id>
   <name>Aspose Java API</name>
   <url>https://releases.aspose.com/java/repo/</url>
 </repository> 
<dependency>
  <groupId>com.aspose</groupId>
  <artifactId>aspose-words</artifactId>
  <version>22.10</version>
  <classifier>jdk17</classifier>
</dependency>

Java’da GIF’i PDF’ye Dönüştürme

Kitaplık yüklendikten sonra, program aracılığıyla GIF’ten PDF’ye dönüştürücü oluşturmak için kaynak kodunu yazmaya başlayabilirsiniz.

Aşağıda verilen adımları ve kod parçasını takip edebilirsiniz:

  1. Document sınıfının bir örneğini oluşturun.
  2. DocumentBuilder sınıfının bir nesnesini başlatır ve Document nesnesini bağlar.
  3. Şimdi kaynak GIF dosyasını yükleyin ve File Nesnesinden girdi alan createImageInputStream yöntemini çağırarak bir görüntü akışı oluşturun.
  4. ImageReader sınıfının bir nesnesini oluşturun, sağlanan Nesnenin (genellikle bir ImageInputStream) kodunu çözebildiğini iddia eden tüm mevcut kayıtlı ImageReader’ları içeren bir Yineleyici döndüren getImageReaders yöntemine erişin.
  5. Verilen ImageInputStream’e veya başka bir nesneye kullanılacak giriş kaynağını ayarlayan setInput yöntemini çağırın.
  6. getNumImages yöntemini çağırarak görüntüdeki kare sayısını alın.
  7. Tüm kareler arasında döngü yapın.
  8. Çok çerçeveli bir görüntü olması durumunda, insertBreak yöntemini çağırarak her yeni sayfadan önce bir bölüm sonu ekleyin.
  9. read yöntemini çağırarak aktif çerçeveyi seçin.
  10. getPageSetup yöntemini çağırıp bunu PageSetup sınıf nesnesine atayarak geçerli sayfa düzenini alın.
  11. Sayfa genişliğini ayarlamak için setPageWidth yöntemini çağırın.
  12. setPageHeight yöntemi sayfa yüksekliğini kaydedecektir.
  13. Görüntüyü belgeye eklemek ve sayfanın sol üst köşesine konumlandırmak için insertImage yöntemini çağırın.
  14. save yöntemini çağırarak dosyayı PDF dosya formatında kaydedin.

Aşağıdaki kodu kopyalayıp ana dosyanıza yapıştırın:

 // Document sınıfının bir örneğini oluşturun. 
 Document doc = new Document();
 // DocumentBuilder sınıfının bir nesnesini başlatır ve Document nesnesini bağlar. 
 DocumentBuilder builder = new DocumentBuilder(doc);
 // Şimdi kaynak GIF dosyasını yükleyin ve Dosya Nesnesinden girdi alan createImageInputStream yöntemini çağırarak bir görüntü akışı oluşturun.  
 ImageInputStream iis = ImageIO.createImageInputStream(new File("sample.gif"));
 // ImageReader sınıfının bir nesnesini oluşturun, Sağlanan Nesnenin (genellikle bir ImageInputStream) kodunu çözebildiğini iddia eden tüm mevcut kayıtlı ImageReader'ları içeren bir Yineleyici döndüren getImageReaders yöntemine erişin. 
 ImageReader reader = ImageIO.getImageReaders(iis).next();
 // Verilen ImageInputStream veya diğer Nesneye kullanılacak giriş kaynağını ayarlayan setInput yöntemini çağırın. 
 reader.setInput(iis, false);
 // getNumImages yöntemini çağırarak görüntüdeki kare sayısını alın.
 int framesCount = reader.getNumImages(true);
 // Tüm kareler arasında döngü yapın.
 for (int frameIdx = 0; frameIdx < framesCount; frameIdx++) {
     // Çok çerçeveli bir görüntü olması durumunda, insertBreak yöntemini çağırarak her yeni sayfadan önce bir bölüm sonu ekleyin. 
     if (frameIdx != 0)
         builder.insertBreak(BreakType.SECTION_BREAK_NEW_PAGE);
     // Okuma yöntemini çağırarak etkin çerçeveyi seçin. 
     BufferedImage image = reader.read(frameIdx);
     // getPageSetup yöntemini çağırıp bunu PageSetup sınıf nesnesine atayarak geçerli sayfa kurulumunu alın. 
     PageSetup ps = builder.getPageSetup();
     // Sayfa genişliğini ayarlamak için setPageWidth yöntemini çağırın. 
     ps.setPageWidth(ConvertUtil.pixelToPoint(image.getWidth()));
     // setPageHeight yöntemi sayfa yüksekliğini kaydedecektir. 
     ps.setPageHeight(ConvertUtil.pixelToPoint(image.getHeight()));
     // Görüntüyü belgeye eklemek ve sayfanın sol üst köşesine konumlandırmak için insertImage yöntemini çağırın. 
     builder.insertImage(
             image,
             RelativeHorizontalPosition.PAGE,
             0,
             RelativeVerticalPosition.PAGE,
             0,
             ps.getPageWidth(),
             ps.getPageHeight(),
             WrapType.NONE);
 }

 if (iis != null) {
     iis.close();
     reader.dispose();
 }
 // Kaydetme yöntemini çağırarak dosyayı PDF dosya formatında kaydedin. 
 doc.save("gifToPdf.pdf");

Çıktı aşağıdaki resimde görülebilir:

GIF'den PDF'ye dönüştürücü

Ücretsiz Lisans Alın

API’yi değerlendirme sınırlamaları olmadan denemek için ücretsiz geçici lisans’tan yararlanabilirsiniz.

Özetliyor

Bu blog yazısını burada sonlandırıyoruz. Birkaç satır kaynak kodu kullanarak GIF’i Java’da PDF’ye nasıl dönüştüreceğinizi anlattınız. Ek olarak, program aracılığıyla bir GIF’ten PDF’ye dönüştürücü oluşturmak için bu belge işleme kitaplığını yükleyebilirsiniz. Ayrıca diğer ilgi çekici özellikleri öğrenmek için belgeleri ziyaret edebilirsiniz.

Ayrıca Başlangıç kılavuzumuzu takip etmenizi öneririz.

Son olarak conholdate.com yeni blog yazıları yazıyor. Bu nedenle, düzenli güncellemeler için lütfen iletişim halinde kalın.

Bir soru sor

Sorularınızı veya sorularınızı forumumuzda bize bildirebilirsiniz.

SSS

Bir GIF’i PDF’ye nasıl dönüştürebilirim?

Bu Java kitaplığını kullanarak GIF’ten PDF’ye dönüştürmeyi programlı olarak gerçekleştirebilirsiniz. Ayrıca, baş etme parçacığını almak için lütfen burayı bağlantı ziyaret edin.

Ayrıca bakınız