GroupDocs.Metadata ile PSD dosyalarından EXIF meta verilerini çıkarmak
Extracting EXIF metadata from PSD files is a routine but powerful step when you need to audit image provenance, automate asset tagging, or build searchable media libraries. In this tutorial you’ll discover how to extract EXIF quickly with GroupDocs.Metadata for Java, see the exact API calls, and learn how to handle advanced IFD packages and GPS coordinates. By the end you’ll be ready to integrate metadata extraction into any Java‑based workflow.
Hızlı cevaplar
The Metadata class represents a file and provides access to its metadata.
- Kodun ilk satırı nedir?
Metadata metadata = new Metadata("sample.psd"); - Hangi metod sanatçı adını döndürür?
metadata.getExif().getArtist(); - GPS verilerini okuyabilir miyim? Evet –
metadata.getExif().getGpsInfo();kullanın - Üretim için lisansa ihtiyacım var mı? Deneme süresinin ardından geçerli bir GroupDocs.Metadata lisansı gereklidir.
- Desteklenen Java sürümü? Java 8 ve üzeri (Java 21’e kadar).
EXIF meta verileri nedir?
EXIF (Exchangeable Image File Format) meta verileri, kamera ayarlarını, oluşturma zaman damgalarını ve konum verilerini görüntü dosyalarının içinde depolar. GroupDocs.Metadata, bu bilgileri PSD dosyalarının ikili yapısından doğrudan okur ve temiz bir Java API’si aracılığıyla sunar. Geliştiricilerin kamera modeli, poz süresi ve GPS koordinatları gibi ayrıntıları manuel inceleme yapmadan programlı olarak almasını sağlar.
Java için GroupDocs.Metadata neden kullanılmalı?
GroupDocs.Metadata 30+ dosya formatını (PSD, JPEG, PNG, TIFF dahil) destekler ve belgeyi belleğe tamamen yüklemeden 2 GB‘a kadar dosyaları işleyebilir. Kütüphane 150’den fazla ayrı EXIF etiketi çıkarır ve analiz veya uyumluluk için gereken kamera ve GPS özelliklerinin tam setine sahip olmanızı garanti eder.
Önkoşullar
- Java Development Kit (JDK) 8 veya daha yeni bir sürüm makinenizde kurulu olmalıdır.
- Maven bağımlılık yönetimi için.
- GroupDocs.Metadata for Java sürüm 24.12 (veya daha yeni).
- Java sınıfları, nesneleri ve istisna yönetimi konusunda temel bilgi.
Gerekli kütüphaneler ve bağımlılıklar
| Bağımlılık | Maven koordinatları |
|---|---|
| GroupDocs.Metadata | com.groupdocs:groupdocs-metadata:24.12 |
Ortam kurulumu
IntelliJ IDEA veya Eclipse gibi Maven uyumlu bir IDE’niz olmalıdır. Yeni bir Maven projesi oluşturun veya bağımlılığı mevcut bir projeye ekleyin.
Java için GroupDocs.Metadata nasıl kurululur
GroupDocs.Metadata, birkaç yapılandırma satırıyla bir Maven projesine eklenebilir. Aşağıdaki adımlar, depoyu ve bağımlılığı nasıl ekleyeceğinizi gösterir, böylece kütüphane sınıf yolunda bulunur.
Maven kurulumu
Add the following snippet to your pom.xml inside the <dependencies> section:
<repositories>
<repository>
<id>repository.groupdocs.com</id>
<name>GroupDocs Repository</name>
<url>https://releases.groupdocs.com/metadata/java/</url>
</repository>
</repositories>
<dependencies>
<dependency>
<groupId>com.groupdocs</groupId>
<artifactId>groupdocs-metadata</artifactId>
<version>24.12</version>
</dependency>
</dependencies>
Doğrudan indirme
Alternatif olarak, resmi sürüm sayfasından en son JAR’ı indirin: GroupDocs.Metadata for Java releases.
Lisans edinme
To run the library beyond the 30‑day trial, obtain a temporary or full license:
- Lisans Satın Alma Sayfasını ziyaret edin.
- Test için temporary (geçici), üretim için full (tam) seçin.
- Ekrandaki talimatları izleyerek lisans dosyasını (
metadata.lic) Java sınıf yolunuza yerleştirin.
Temel başlatma ve kurulum
After the library is on the classpath, initialize it as shown below:
import com.groupdocs.metadata.*;
public class MetadataSetup {
public static void main(String[] args) {
// Initialize metadata handling
try (Metadata metadata = new Metadata("YOUR_DOCUMENT_DIRECTORY/PsdWithExif.psd")) {
System.out.println("Metadata initialized successfully.");
}
}
}
PSD görüntüsünden temel EXIF meta veri özelliklerini nasıl çıkarılır
Bu bölüm, bir PSD dosyasını nasıl yükleyeceğinizi, EXIF konteynerine nasıl erişeceğinizi ve artist, copyright, software gibi en yaygın etiketleri nasıl okuyacağınızı açıklar. İşlem, bir Metadata örneği oluşturmayı, getExif() çağırmayı ve ardından basit getter metodlarıyla bireysel özellikleri almayı içerir.
Adım adım uygulama
- PSD dosyanıza işaret eden bir
Metadataörneği oluşturun. - EXIF konteynerini elde etmek için
getExif()çağırın. getArtist(),getCopyright()vegetSoftware()gibi bireysel özellikleri okuyun.- Uygulama mantığınıza göre değerleri yazdırın veya saklayın.
import com.groupdocs.metadata.Metadata;
import com.groupdocs.metadata.core.PsdRootPackage;
public class ExtractBasicExifProperties {
public static void main(String[] args) {
String documentPath = "YOUR_DOCUMENT_DIRECTORY/PsdWithExif.psd";
try (Metadata metadata = new Metadata(documentPath)) {
PsdRootPackage root = metadata.getRootPackageGeneric();
if (root.getExifPackage() != null) {
// Access and print basic EXIF properties
String artist = root.getExifPackage().getArtist();
System.out.println("Artist: " + artist);
String copyright = root.getExifPackage().getCopyright();
System.out.println("Copyright: " + copyright);
String imageDescription = root.getExifPackage().getImageDescription();
System.out.println("Image Description: " + imageDescription);
String make = root.getExifPackage().getMake();
System.out.println("Make: " + make);
String model = root.getExifPackage().getModel();
System.out.println("Model: " + model);
String software = root.getExifPackage().getSoftware();
System.out.println("Software: " + software);
int imageWidth = root.getExifPackage().getImageWidth();
System.out.println("Image Width: " + imageWidth);
int imageLength = root.getExifPackage().getImageLength();
System.out.println("Image Length: " + imageLength);
}
} catch (Exception e) {
System.err.println("Error occurred while extracting metadata: " + e.getMessage());
}
}
}
İpucu:
Metadatanesnesi dosya formatını otomatik olarak algılar, bu yüzden aynı kodu JPEG veya TIFF dosyaları için değişiklik yapmadan yeniden kullanabilirsiniz.
PSD görüntüsünden EXIF IFD paket özelliklerini nasıl çıkarılır
IFD (Image File Directory) bölümü, kamera seri numarası, lens modeli ve kullanıcı yorumları gibi daha derin teknik detayları içerir. Ifd0, temel kamera bilgilerini içeren birincil Image File Directory’yi temsil eder. Bu alanların çıkarılması adli analiz veya yüksek hassasiyetli kataloglama için faydalıdır.
Uygulama adımları
- Önceki bölümdeki
Metadataörneğini yeniden kullanın. metadata.getExif().getIfd0()aracılığıyla IFD konteynerine gidin.getBodySerialNumber()vegetUserComment()gibi özellikleri okuyun.- Verileri çıktıya verin veya alan modelinize eşleyin.
import com.groupdocs.metadata.Metadata;
import com.groupdocs.metadata.core.PsdRootPackage;
public class ExtractExifIfdProperties {
public static void main(String[] args) {
String documentPath = "YOUR_DOCUMENT_DIRECTORY/PsdWithExif.psd";
try (Metadata metadata = new Metadata(documentPath)) {
PsdRootPackage root = metadata.getRootPackageGeneric();
if (root.getExifPackage() != null && root.getExifPackage().getExifIfdPackage() != null) {
// Access and print EXIF IFD package properties
String bodySerialNumber = root.getExifPackage().getExifIfdPackage().getBodySerialNumber();
System.out.println("Body Serial Number: " + bodySerialNumber);
String cameraOwnerName = root.getExifPackage().getExifIfdPackage().getCameraOwnerName();
System.out.println("Camera Owner Name: " + cameraOwnerName);
String userComment = root.getExifPackage().getExifIfdPackage().getUserComment();
System.out.println("User Comment: " + userComment);
}
} catch (Exception e) {
System.err.println("Error occurred while extracting metadata: " + e.getMessage());
}
}
}
PSD dosyasından GPS verilerini (enlem, boylam) nasıl alırsınız
Birçok modern kamera, EXIF bloğuna GPS koordinatlarını gömer. GpsInfo, EXIF verilerinden çıkarılan coğrafi koordinatları tutar. metadata.getExif().getGpsInfo() çağırın ve ardından getLatitude(), getLongitude() ve getAltitude() kullanarak kesin konum verilerini elde edin—ek bir ayrıştırma gerekmez.
Ayrıntılı adımlar
- GPS bilgi nesnesini alın:
GpsInfo gps = metadata.getExif().getGpsInfo(); - Enlem ve boylamı okuyun:
gps.getLatitude()ondalık derece cinsinden birdoubledöndürür. - Eksik verileri ele alın: Etiket yoksa API
nulldöndürür, bu yüzdenNullPointerException‘a karşı önlem alın.
Yaygın tuzak: Bazı PSD dosyaları GPS koordinatlarını rasyonel sayılar olarak saklar; kütüphane bunları otomatik olarak normalleştirir, ancak eski dosyalar manuel dönüşüm gerektirebilir.
Yaygın sorunlar ve sorun giderme
| Semptom | Muhtemel neden | Çözüm |
|---|---|---|
Unsupported format istisnası | PSD’yi tanımayan eski bir GroupDocs.Metadata sürümü kullanmak | Sürümü 24.12 veya daha yenisine yükseltin |
NullPointerException getArtist() çağrıldığında | Kaynak dosyada EXIF etiketi bulunmuyor | Okumadan önce metadata.getExif().hasArtist() kontrol edin |
| 30 gün sonra lisans hatası | Lisans dosyası sınıf yolunda bulunamadı | metadata.lic dosyasını src/main/resources içine koyun veya Metadata.setLicense("path/to/license") ayarlayın |
Sıkça sorulan sorular
S: Parola korumalı bir PSD dosyasından EXIF meta verilerini çıkarabilir miyim?
C: Evet. Dosyayı new Metadata("file.psd", "password") ile yükleyin ve ardından EXIF verilerine normal şekilde erişin.
S: GroupDocs.Metadata birçok PSD dosyasının toplu işlenmesini destekliyor mu?
C: Kesinlikle. Bir döngü içinde Metadata nesnesi oluşturun veya dizinleri verimli işlemek için MetadataCollection yardımcı sınıfını kullanın.
S: Resmi olarak hangi Java sürümleri destekleniyor?
C: Java 8’den Java 21’e kadar tam test edilmiştir. Kütüphane yalnızca standart API’leri kullanır, bu yüzden uyumlu herhangi bir JVM’de çalışır.
S: EXIF verilerini bir PSD dosyasına geri yazmak mümkün mü?
C: Evet. Exif nesnesi üzerinden özellikleri değiştirdikten sonra metadata.save("output.psd") çağırarak değişiklikleri kalıcı hale getirin.
S: Kütüphane bellek tükenmeden ne kadar büyük bir PSD dosyasını işleyebilir?
C: GroupDocs.Metadata verileri akış olarak işler ve tipik 8 GB RAM bir makinede 2 GB‘a kadar dosyaları işleyebilir, düşük bellek mimarisi sayesinde.
Sonuç
Artık GroupDocs.Metadata for Java kullanarak PSD dosyalarından EXIF meta verilerini nasıl çıkaracağınızı biliyorsunuz; temel etiketlerden gelişmiş IFD ve GPS bilgilerine kadar. Bu kod parçacıklarını görüntü işleme hattınıza entegre ederek kataloglamayı, uyumluluk kontrollerini veya konuma dayalı hizmetleri otomatikleştirin. Daha derin bir keşif için, diğer desteklenen formatlardan (JPEG, TIFF, PNG) meta veri çıkarmayı deneyin veya özel etiketler eklemek için yazma yetenekleriyle deney yapın.
Son Güncelleme: 2026-08-10
Test Edilen: GroupDocs.Metadata 24.12 for Java
Yazar: GroupDocs
İlgili Öğreticiler
- Java’da GroupDocs.Metadata Kullanarak PSD Dosyalarından Görüntü Kaynaklarını Çıkarmak: Kapsamlı Kılavuz
- Java için GroupDocs.Metadata Kullanarak PSD Başlık ve Katman Bilgilerini Çıkarmak: Kapsamlı Kılavuz
- Java’da GroupDocs.Metadata Kullanarak MakerNote Özelliklerini TIFF/EXIF Etiketleri Olarak Çıkarmak