PDF dosyalarına vektör grafik eklemek, raporlar, faturalar ve etkileşimli belgeler oluşturmak için yaygın bir gereksinimdir. PDF dosyalarına dikdörtgen, elips ve çizgi eklemek, bunların görünümünü yapılandırmak ve performans hususlarını ele almak için Graph nesnesi kullanılır. Bu rehberde, bu işlemleri net Java kod örnekleriyle nasıl yapacağınızı öğreneceksiniz. Conholdate.Total for Java güçlü bir SDK olup sunucu tarafında PDF manipülasyonunu basitleştirir.

Java’da PDF’ye Şekil Ekleme Adımları

  1. Maven Deposu ve Bağımlılığı Ekle - Conholdate Maven deposunu ve conholdate-total bağımlılığını pom.xml dosyanıza ekleyin. Bu, Document, Page ve Graph gibi SDK sınıflarının kullanılabilir olmasını sağlar.
    <repositories>
        <repository>
            <id>conholdate-repo</id>
            <name>Conholdate Maven Repository</name>
            <url>https://repository.conholdate.com/repo/</url>
        </repository>
    </repositories>
    
  1. PDF Belgesi ve Bir Sayfa Oluşturma - Document örneği oluşturun ve sayfalar koleksiyonuna bir sayfa ekleyin. Sınıf, API referansı içinde belgelenmiştir.
// Create Document instance
Document doc = new Document();
// Add page to pages collection of PDF file
com.aspose.pdf.Page page = doc.getPages().add();
  1. Şekil Nesneleri Oluşturma - Önce bir Graph nesnesi oluşturun, ardından dikdörtgenler, elipsler veya çizgiler örnekleyin ve bunları şekiller koleksiyonuna ekleyin. Konum, boyut ve görsel özellikleri her şeklin GraphInfo nesnesi aracılığıyla ayarlayın.
// Create Graph instance
com.aspose.pdf.drawing.Graph graph = new com.aspose.pdf.drawing.Graph(100, 600);

// Rectangle
com.aspose.pdf.drawing.Rectangle rect = new com.aspose.pdf.drawing.Rectangle(100, 100, 170, 120);
graph.getShapes().add(rect);

// Ellipse
com.aspose.pdf.drawing.Ellipse ellipse = new com.aspose.pdf.drawing.Ellipse(300, 150, 150, 100);
ellipse.getGraphInfo().setColor(com.aspose.pdf.Color.getGreen());
ellipse.getGraphInfo().setLineWidth(1.5f);
graph.getShapes().add(ellipse);

// Line
com.aspose.pdf.drawing.Line line = new com.aspose.pdf.drawing.Line((new float[]{100, 300, 400, 300}));
line.getGraphInfo().setColor(com.aspose.pdf.Color.getRed());
line.getGraphInfo().setLineWidth(3);
graph.getShapes().add(line);
  1. Sayfaya Şekil Ekle - Bireysel şekiller Graph nesnesinin şekil koleksiyonunda bulunur. Graph nesnesini sayfanın paragraf koleksiyonuna ekleyin, böylece içinde bulunan tüm şekiller o sayfada render edilir.
// Add graph object to paragraphs collection of page instance
page.getParagraphs().add(graph);
  1. Güncellenmiş PDF’yi Kaydet - Grafiğin (tüm şekilleriyle) sayfaya eklendikten sonra, belgeyi yeni bir dosyaya kaydedin.
// Save PDF file
doc.save("Shapes.pdf");

Java’da PDF’ye Şekil Ekleme - Tam Kod Örneği

Aşağıdaki örnek, tüm adımları tek bir, çalıştırmaya hazır programda birleştirir.

import com.aspose.pdf.Document;
import com.aspose.pdf.Color;

public class AddShapesDemo {
    public static void main(String[] args) throws Exception {
        // Create Document instance
        Document doc = new Document();
        // Add page to pages collection of PDF file
        com.aspose.pdf.Page page = doc.getPages().add();

// Create Graph instance
        com.aspose.pdf.drawing.Graph graph = new com.aspose.pdf.drawing.Graph(100, 600);

// Create Rectangle instance
        com.aspose.pdf.drawing.Rectangle rect = new com.aspose.pdf.drawing.Rectangle(100, 100, 170, 120);
        // Add rectangle object to shapes collection of Graph object
        graph.getShapes().add(rect);

// Create ellipse
        com.aspose.pdf.drawing.Ellipse ellipse = new com.aspose.pdf.drawing.Ellipse(300, 150, 150, 100);
        ellipse.getGraphInfo().setColor(com.aspose.pdf.Color.getGreen());
        ellipse.getGraphInfo().setLineWidth(1.5f);
        // Add ellipse object to shapes collection of Graph object
        graph.getShapes().add(ellipse);

// Create line
        com.aspose.pdf.drawing.Line line = new com.aspose.pdf.drawing.Line((new float[]{100, 300, 400, 300}));
        line.getGraphInfo().setColor(com.aspose.pdf.Color.getRed());
        line.getGraphInfo().setLineWidth(3);
        // Add line object to shapes collection of Graph object
        graph.getShapes().add(line);

// Add graph object to paragraphs collection of page instance
        page.getParagraphs().add(graph);

// Save PDF file
        doc.save("Shapes.pdf");
    }
}

Not: Bu kod örneği temel işlevselliği göstermektedir. Projenizde kullanmadan önce, çıktı dosyası yolunu (Shapes.pdf) gerçek hedef konumunuza göre güncellediğinizden, tüm gerekli bağımlılıkların doğru şekilde yüklendiğinden emin olun ve geliştirme ortamınızda kapsamlı bir şekilde test edin. Herhangi bir sorunla karşılaşırsanız, lütfen resmi belgeler bölümüne bakın veya destek ekibi ile iletişime geçin.

Java’da Kurulum ve Ayarlama

Conholdate.Total for Java’ı kullanmaya başlamak için, resmi siteden en son sürümü indirin ve daha önce gösterilen Maven bağımlılığını ekleyin. SDK, herhangi bir Java 8+ çalışma zamanında çalışır ve ek yerel kütüphanelere ihtiyaç duymaz.

Ana Özellikler ve Genel Bakış

Java’da Conholdate.Total ile PDF’ye Şekil Ekleme

Conholdate.Total for Java, PDF içeriği oluşturmak ve düzenlemek için birleşik bir API sağlar. Şekil çizme işlevselliği, Graph nesnesi ve şekil koleksiyonu aracılığıyla vektör grafiklerle çalışır ve eklenen öğelerin herhangi bir yakınlaştırma seviyesinde net kalmasını sağlar. Temel primitive’leri (dikdörtgen, elips, çizgi) çizebilir ve bir sayfaya yerleştirmeden önce tek bir Graph içinde birkaçını birleştirebilirsiniz.

Conholdate.Total Özellikleri Bu Görev İçin Önemli

  • Çapraz platform uyumluluğu: Windows, Linux ve macOS sunucularında çalışır.
  • Yüksek performanslı renderleme: Şekiller, yerel PDF içeriği oluşturan aynı motor kullanılarak renderlenir, rasterleştirme önlenir.
  • Görünüm üzerinde tam kontrol: Her şekil için GraphInfo nesnesi aracılığıyla çizgi rengi ve kalınlığını ayarlayın.
  • Gruplandırılmış grafikler: Birden fazla şekli tek bir Graph nesnesine ekleyerek sayfada birlikte konumlandırılabilir ve yönetilebilir.

En İyi Görüntüleme İçin Şekil Özelliklerini Yapılandırma

Şekil eklerken, istenen görsel sonucu elde etmek için aşağıdaki özellikleri göz önünde bulundurun:

  • Konum ve Boyut: Shape yapıcıları koordinatları ve boyutları puan cinsinden alır, örn. new Rectangle(100, 100, 170, 120) veya new Ellipse(300, 150, 150, 100).
  • Grafik Yerleşimi: Graph nesnesi new Graph(width, height) ile konumlandırılır ve page.getParagraphs().add(graph) aracılığıyla bir sayfaya eklenir.
  • Renkler: com.aspose.pdf.Color sınıfını kullanın (örneğin Color.getGreen() veya Color.getRed()) ve bir şekle shape.getGraphInfo().setColor(...) ile ayarlayın.
  • Çizgi Genişliği: shape.getGraphInfo().setLineWidth(...) ile ayarlayın, puan cinsinden ölçülür; 1 değeri 1/72 inç’e eşittir.
  • Çizgiler: Bir Line şekli koordinat dizisinden oluşturulur, örn. new Line(new float[]{100, 300, 400, 300}), çizginin başlangıç ve bitiş noktalarını temsil eder.

Şekil görünümünü ayarlama örneği:

ellipse.getGraphInfo().setColor(com.aspose.pdf.Color.getGreen());
ellipse.getGraphInfo().setLineWidth(1.5f);

PDF’lere Şekil Eklerken Performans Düşünceleri

Birçok vektör nesnesi eklemek işlem süresini ve bellek kullanımını artırabilir. Aşağıdaki yönergeleri izleyin:

  • Toplu Çizim: İlgili şekilleri tek bir Graph nesnesinde gruplayın ve bu grafiği sayfaya eklemeden önce.
  • Nesneleri Yeniden Kullan: Birden fazla sayfada aynı şekillere ihtiyacınız varsa, bunları çoğaltmak yerine şekil yapılandırma mantığını yeniden kullanın.
  • Aşırı Ölçeklendirmeden Kaçının: Maliyetli raster dönüşümlerini önlemek için şekilleri nihai görüntü boyutunda tanımlayın.
  • Kaynakları Serbest Bırak: Tüm şekiller eklendikten sonra Document‘i hemen kaydedin ve serbest bırakın.

Sonuç

Conholdate.Total for Java Java geliştiricilerine PDF belgelerine şekil eklemek için basit bir yol sunar; bu sayede zengin, etkileşimli raporlar ve faturalar oluşturabilirsiniz. Bu rehberdeki adımları, yapılandırma ipuçlarını ve performans yönergelerini izleyerek, PDF iş akışınıza vektör grafiklerini güvenle entegre edebilirsiniz. Üretim kullanımı için uygun bir lisans almayı unutmayın; değerlendirme için geçici bir lisans mevcuttur ve tam fiyatlandırma detayları fiyatlandırma sayfası üzerinde listelenmiştir.

SSS

Her şekil için bir Graph nesnesi oluşturmam gerekiyor mu?
Hayır. Tek bir Graph nesnesi birden fazla şekli tutabilir — dikdörtgenler, elipsler ve çizgiler, grafiğin sayfaya eklenmeden önce aynı grafiğin şekil koleksiyonuna eklenebilir.

Çok sayfalı bir PDF’in belirli bir sayfasına şekil eklemek mümkün mü?
Evet. Hedef sayfayı doc.getPages()‘dan alın ve o belirli Page örneği üzerinde page.getParagraphs().add(graph) metodunu çağırın.

Şekiller ekledikten sonra hangi dosya formatlarına dışa aktarabilirim?
Conholdate.Total for Java’nın Document.save() yöntemi PDF’nin yanı sıra SDK tarafından desteklenen diğer formatlara da yazabilir. Sonucu standart bir PDF dosyası olarak kaydetmek için doc.save("Shapes.pdf") kullanın.