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ı
- Maven Deposu ve Bağımlılığı Ekle - Conholdate Maven deposunu ve
conholdate-totalbağımlılığınıpom.xmldosyanıza ekleyin. Bu,Document,PageveGraphgibi 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>
- 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();
- Şekil Nesneleri Oluşturma - Önce bir
Graphnesnesi oluşturun, ardından dikdörtgenler, elipsler veya çizgiler örnekleyin ve bunları şekiller koleksiyonuna ekleyin. Konum, boyut ve görsel özellikleri her şeklinGraphInfonesnesi 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);
- Sayfaya Şekil Ekle - Bireysel şekiller
Graphnesnesinin şekil koleksiyonunda bulunur.Graphnesnesini 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);
- 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.
- İndirme URL’si: Conholdate.Total for Java Release
- Dokümantasyon: Ayrıntılı kullanım talimatları, resmi dokümantasyonda mevcuttur.
- Lisans: Geçici lisans sayfasından geçici bir lisans edinin veya fiyatlandırma sayfasında tam fiyatlandırmayı görüntüleyin.
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
GraphInfonesnesi aracılığıyla çizgi rengi ve kalınlığını ayarlayın. - Gruplandırılmış grafikler: Birden fazla şekli tek bir
Graphnesnesine 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)veyanew Ellipse(300, 150, 150, 100). - Grafik Yerleşimi:
Graphnesnesinew Graph(width, height)ile konumlandırılır vepage.getParagraphs().add(graph)aracılığıyla bir sayfaya eklenir. - Renkler:
com.aspose.pdf.Colorsınıfını kullanın (örneğinColor.getGreen()veyaColor.getRed()) ve bir şekleshape.getGraphInfo().setColor(...)ile ayarlayın. - Çizgi Genişliği:
shape.getGraphInfo().setLineWidth(...)ile ayarlayın, puan cinsinden ölçülür;1değ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
Graphnesnesinde 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.
