Java ile EPS/PS belgelerinde XMP meta verilerini okuma ve ekleme
Aspose.Page for Java kullanarak EPS ve PostScript (PS) belgelerindeki XMP (Extensible Metadata Platform) meta verilerini çıkarın, inceleyin, ekleyin ve güncelleyin. Standart Dublin Core özelliklerini, belge oluşturma istatistiklerini, telif hakkı bilgilerini ve özel meta veri yapılarını, temel vektör grafik içeriğini değiştirmeden doğrudan PostScript dosya akışlarına ekleyin.
Aspose.Page for Java, mevcut XMP meta verilerini çıkarmak veya EPS/PS dosyalarına yeni özellikler eklemek için yüksek performanslı bir XmpHeaderConverter ve XmpMetadata nesne modeli sağlar.
- EPS dosyalarından yazar bilgileri, oluşturulma tarihleri, telif hakkı bildirimleri ve özel öznitelikler gibi bilgileri okumak için
XmpMetadata.add()yöntemini kullanın. - Belge başlıkları veya değişiklik geçmişi gibi mevcut meta veri alanlarını düzenlemek için
XmpMetadata.set()yöntemini kullanın. - Grafik dosyalarına özel, kuruluşa özgü meta veri öznitelikleri eklemek için
XmpMetadata.registerNamespace()yöntemini kullanın.
Bir EPS Dosyasından mevcut XMP meta verilerini okuma
dc:title, xmp:CreatorTool ve xmp:CreateDate gibi meta veri alanlarını incelemek için bir EPS belgesinden standart ve kullanıcı tanımlı XMP özelliklerini çıkarın ve ayrıştırın.
import com.aspose.page.xps.XpsDocument;
import com.aspose.page.xps.XpsPrintTicket;
public class ReadXpsPrintTicket {
public static void main(String[] args) throws Exception {
// Open existing XPS document
XpsDocument doc = new XpsDocument("C:/XPSProject/Input/sample.xps");
// Retrieve the Job-level Print Ticket
XpsPrintTicket printTicket = doc.getJobPrintTicket();
if (printTicket != null) {
System.out.println("Print Ticket found in XPS package.");
// Print raw XML string content of the Print Ticket
System.out.println(printTicket.getXml());
} else {
System.out.println("No Job Print Ticket associated with this document.");
}
doc.close();
}
}Bir EPS Dosyasına yeni XMP meta verileri ekleme ve yerleştirme
Standart meta veri özelliklerini (Dublin Core veya XMP Basic şemaları gibi) bir EPS belgesine ekleyin ve güncellenmiş dosya çıktısını kaydedin.
import com.aspose.page.xps.XpsDocument;
import com.aspose.page.xps.XpsPrintTicket;
import java.io.FileInputStream;
public class AttachJobPrintTicket {
public static void main(String[] args) throws Exception {
// Load target XPS document
XpsDocument doc = new XpsDocument("C:/XPSProject/Input/document.xps");
// Read custom Print Ticket XML file specifying printer settings
FileInputStream ticketStream = new FileInputStream("C:/XPSProject/Config/custom_job_ticket.xml");
XpsPrintTicket customTicket = new XpsPrintTicket(ticketStream);
// Assign Print Ticket to Job level
doc.setJobPrintTicket(customTicket);
// Save updated XPS document
doc.save("C:/XPSProject/Output/document_with_print_ticket.xps");
ticketStream.close();
System.out.println("Job-level Print Ticket attached successfully.");
}
}Özel adlandırılmış ad alanları ve dizi meta verileri ekleme
Kuruluşa özgü XML ad alanlarını kaydedin ve dizi listeleri gibi karmaşık veri türlerini belgenin XMP yapısında depolayın.
import com.aspose.page.xps.XpsDocument;
import com.aspose.page.xps.XpsPage;
import com.aspose.page.xps.XpsPrintTicket;
import java.io.FileInputStream;
public class AttachPagePrintTicket {
public static void main(String[] args) throws Exception {
XpsDocument doc = new XpsDocument("C:/XPSProject/Input/multi_page.xps");
// Get reference to the first page (Cover Page)
XpsPage coverPage = doc.getPage(1);
// Load cover-page specific print settings (e.g., Heavyweight Paper Tray)
FileInputStream coverTicketStream = new FileInputStream("C:/XPSProject/Config/cover_page_ticket.xml");
XpsPrintTicket coverTicket = new XpsPrintTicket(coverTicketStream);
// Set Print Ticket on Page 1
coverPage.setPagePrintTicket(coverTicket);
// Save compiled XPS package
doc.save("C:/XPSProject/Output/multi_page_custom_trays.xps");
coverTicketStream.close();
System.out.println("Page-level Print Ticket override attached to Page 1.");
}
}Kurulum ve Ayarlar
Aspose.Page for Java’yı Maven’ınıza ekleyin:
Package Manager Console Command
<repository>
<id>AsposeJavaAPI</id>
<name>Aspose Java API</name>
<url>https://repository.aspose.com/repo/</url>
</repository>
<dependency>
<groupId>com.aspose</groupId>
<artifactId>aspose-page</artifactId>
<version>Latest</version>
</dependency>
FAQ
1. Aspose.Page’de XPS Print Ticket nedir?
XPS Print Ticket, Print Schema belirtimi tarafından tanımlanan bir XML yapısıdır. Yönlendirme, çift taraflı yazdırma, kopya sayısı, kâğıt boyutları ve çıktı tepsileri gibi donanım yazdırma talimatlarını doğrudan .xps ZIP paket dosyasının içine yerleştirir.
2. Print Ticket içindeki tek tek XML parametrelerini dinamik olarak değiştirebilir miyim?
Evet. XpsPrintTicket.getXml() aracılığıyla ham XML içeriğini alabilir, standart Java XML ayrıştırıcılarını kullanarak DOM düğümlerini veya özniteliklerini değiştirebilir ve değiştirilmiş bileti belgeye veya sayfaya yeniden atayabilirsiniz.
3. Hem Job düzeyinde hem de Page düzeyinde bir Print Ticket mevcutsa ne olur?
Belirli bir sayfa için Page düzeyindeki Print Ticket’lar, Job düzeyindeki Print Ticket’lara göre önceliklidir. Bu, geliştiricilerin karton kapak sayfalarını standart düz metin sayfalarıyla birleştirmek gibi karma medyalı yazdırma işleri oluşturmasına olanak tanır.