Java kullanarak PNG'yi PDF'ye dönüştürün

Java kullanarak PNG’yi PDF’ye dönüştürün

PNG ve PDF popülerdir ve şu anda en yaygın kullanılan dosya formatlarıdır. PNG bir görüntü dosyası formatıdır, oysa PDF (Taşınabilir Belge Formatı) güvenilir ve verimli veri gösterimi sunar. Bazı senaryolarda görüntü dosyası biçimini PDF’ye dönüştürmeniz gerekir. Bu nedenle, bu blog yazısında Java PDF API kullanarak PNG’yi PDF’ye nasıl dönüştüreceğimizi öğreneceğiz. Bu dönüşümün kod pasajını ve adımlarını bir Java uygulamasında yazacağız.

Bu yazımızda aşağıdaki konuları ele alacağız:

Java PDF kitaplığı

Bu Java PDF kütüphanesi’nin kurulumu kolaydır ve kurulum ile ilgili belgeler sunar. Güçlü dönüştürme ve manipülasyon özellikleri sunan kurumsal düzeyde bir API’dir. Ancak JAR’ı indirebilir veya aşağıdaki Maven yapılandırmalarını kullanarak yükleyebilirsiniz:

<repository>
    <id>AsposeJavaAPI</id>
    <name>Aspose Java API</name>
    <url>https://repository.aspose.com/repo/</url>
</repository>
<dependency>
    <groupId>com.aspose</groupId>
    <artifactId>aspose-words</artifactId>
    <version>21.11</version>
    <type>pom</type>
</dependency>

Java kullanarak PNG’yi PDF’ye dönüştürün

Bu Java PDF kütüphanesinin sunduğu sınıfları ve yöntemleri kullanacağız. Java’da birkaç satır kaynak kodu yazarak PNG’den PDF’ye dönüştürme yapmanızı sağlar.

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

  1. Document sınıfının bir örneğini oluşturun.
  2. Belgeye içerik eklemeyi kolaylaştırmak için DocumentBuilder sınıfından bir nesne oluşturun.
  3. Giriş görüntü dosyasını createImageInputStream yöntemini çağırarak yükleyin ve bunu ImageInputStream nesnesine atayın.
  4. Şu anda kayıtlı tüm ImageReader’ları içeren bir Yineleyici döndüren ve onu ImageReader sınıfının nesnesine atayan getImageReaders yöntemini çağırın.
  5. Verilen ImageInputStream’e 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. Aktif bir çerçeve seçin ve onu BufferedImage sınıfının nesnesine atayın.
  9. Geçerli sayfa düzenine erişmek ve bunu PageSetup sınıfının nesnesine atamak için getPageSetup yöntemini çağırın.
  10. setPageWidth yöntemini çağırarak sayfa yüksekliğini ayarlayın.
  11. Sayfanın genişliğini ayarlamak için setPageHeight yöntemini çağırın.
  12. Görüntüyü belgeye ekleyin ve insertImage yöntemini çağırarak görüntüyü sayfanın sol üst köşesine konumlandırın.
  13. save yöntemini çağırarak dosyayı PDF dosya formatında kaydedin.
public static void ConvertImageToPDF(String inputFileName, String outputFileName) throws Exception {

    // Document sınıfının bir örneğini oluşturun  
    Document doc = new Document();
    // Belgeye içerik eklemeyi kolaylaştırmak için DocumentBuilder sınıfının bir nesnesini oluşturun.  
    DocumentBuilder builder = new DocumentBuilder(doc);

    // Uygun okuyucuyu kullanarak diskteki görüntüleri yükleyin.
    // Yüklenebilecek dosya formatları, makinede bulunan resim okuyuculara bağlıdır.
    // CreateImageInputStream yöntemini çağırarak giriş görüntü dosyasını yükleyin ve bunu ImageInputStream nesnesine atayın.
    ImageInputStream iis = ImageIO.createImageInputStream(new File(inputFileName));
    // Şu anda kayıtlı tüm ImageReader'ları içeren bir Yineleyici döndüren ve onu ImageReader sınıfının nesnesine atayan getImageReaders yöntemini çağırın.
    ImageReader reader = ImageIO.getImageReaders(iis).next();
    // Verilen ImageInputStream'e 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, her yeni sayfadan önce bir bölüm sonu ekleyin.
        if (frameIdx != 0)
            builder.insertBreak(BreakType.SECTION_BREAK_NEW_PAGE);

        // Etkin çerçeveyi seçin ve onu BufferedImage sınıfının nesnesine atayın 
        BufferedImage image = reader.read(frameIdx);

        // Sayfanın boyutunun görselin boyutuyla aynı olmasını istiyoruz.
	      // Sayfayı gerçek görüntü boyutuna göre boyutlandırmak için pikselleri noktalara dönüştürün.
	      // Geçerli sayfa kurulumuna erişmek ve onu PageSetup sınıfının nesnesine atamak için getPageSetup yöntemini çağırın   
        PageSetup ps = builder.getPageSetup();
        // setPageWidth yöntemini çağırarak sayfa yüksekliğini ayarlayın 
        ps.setPageWidth(ConvertUtil.pixelToPoint(image.getWidth()));
        // Sayfanın genişliğini ayarlamak için setPageHeight yöntemini çağırın 
        ps.setPageHeight(ConvertUtil.pixelToPoint(image.getHeight()));

        // Görüntüyü belgeye ekleyin ve insertImage yöntemini çağırarak görüntüyü sayfanın sol üst köşesine konumlandı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ı olarak kaydedin
    doc.save(outputFileName);
}

Çıktıyı aşağıdaki resimde görebilirsiniz:

PNG'den PDF'ye dönüştürme

PNG’den PDF’ye dönüştürme

Ücretsiz Lisans Alın

API’yi değerlendirme sınırlamalarının ötesinde denemek için bir ücretsiz geçici lisans alabilirsiniz.

Özetliyor

Bu blog yazısını burada sonlandırabiliriz. Programlı olarak Java kullanarak PNG’yi PDF’ye dönüştürmek için Java PDF kitaplığının uygulanmasını gösterdik. Bu kitaplık, birkaç satır kod kullanarak PNG’den PDF’ye dönüştürücü oluşturmanıza olanak tanır. Ayrıca, bu PNG’den PDF’ye dönüştürme API’sinin belgelerini ziyaret edebilirsiniz. conholdate.com sürekli olarak yeni ilginç konular üzerine yazıyor. Bu nedenle lütfen en son güncellemeler için bağlantıda kalın.

Bir soru sor

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

SSS

PNG’yi PDF’ye nasıl dönüştürürsünüz?

PNG’yi Java’da programlı olarak PDF’ye dönüştürmek için bu kütüphaneyi kullanabilirsiniz. Kullanımıyla ilgili kapsamlı belgeler sunar.

Kaliteyi kaybetmeden PNG’yi PDF olarak nasıl kaydederim?

Java kitaplığını kullanarak PNG’yi PDF dosyası olarak nasıl kaydedeceğinizi öğrenmek için bu bölüm‘ü inceleyin. PNG dosyasını PDF dosyası olarak kaydetmek için save yöntemini çağırabilirsiniz.

Ayrıca bakınız