XMP-metaadatok olvasása és hozzáadása EPS/PS-dokumentumokban Java használatával
XMP (Extensible Metadata Platform) metaadatok kinyerése, vizsgálata, hozzáadása és frissítése EPS- és PostScript (PS)-dokumentumokban az Aspose.Page for Java használatával. Szabványos Dublin Core-tulajdonságokat, dokumentum-létrehozási statisztikákat, szerzői jogi adatokat és egyéni metaadat-struktúrákat ágyazhat közvetlenül a PostScript-fájlfolyamokba anélkül, hogy módosítaná az alapul szolgáló vektorgrafika vizuális tartalmát.
Az Aspose.Page for Java nagy teljesítményű XmpHeaderConverter és XmpMetadata objektummodellt biztosít a meglévő XMP-metaadatok kinyeréséhez vagy új tulajdonságok EPS/PS-fájlokba történő beillesztéséhez.
- Az EPS-fájlokból származó szerzői adatok, létrehozási dátumok, szerzői jogi megjegyzések és egyéni attribútumok olvasásához használja a
XmpMetadata.add()metódust. - A meglévő metaadatmezők, például a dokumentumcímek vagy a módosítási előzmények szerkesztéséhez használja a
XmpMetadata.set()metódust. - Saját tulajdonú, vállalatspecifikus metaadat-attribútumok grafikus fájlokhoz való hozzáadásához használja a
XmpMetadata.registerNamespace()metódust.
Meglévő XMP-metaadatok olvasása EPS-fájlból
Szabványos és felhasználó által definiált XMP-tulajdonságok kinyerése és elemzése egy EPS-dokumentumból olyan metaadatmezők vizsgálatához, mint a dc:title, xmp:CreatorTool és xmp:CreateDate.
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();
}
}Új XMP-metaadatok hozzáadása és beillesztése EPS-fájlba
Szabványos metaadat-tulajdonságok (például Dublin Core- vagy XMP Basic-sémák) beillesztése egy EPS-dokumentumba, majd a frissített fájl kimenetének mentése.
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.");
}
}Egyéni elnevezett névterek és tömb-metaadatok hozzáadása
Vállalatspecifikus XML-névterek regisztrálása és összetett adattípusok, például tömblisták tárolása a dokumentum XMP-struktúrájában.
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.");
}
}Telepítés és beállítás
Adja hozzá az Aspose.Page for Java csomagot a Mavenhez:
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>
GYIK
1. Mi az XPS Print Ticket az Aspose.Page-ben?
Az XPS Print Ticket egy, a Print Schema specifikáció által meghatározott XML-struktúra. Hardveres nyomtatási utasításokat (például tájolást, kétoldalas nyomtatást, példányszámot, papírméreteket és kimeneti tálcákat) ágyaz közvetlenül a .xps ZIP-csomagfájlba.
2. Dinamikusan módosíthatom a Print Ticket egyes XML-paramétereit?
Igen. A nyers XML-tartalmat a XpsPrintTicket.getXml() metódussal kérheti le, a DOM-csomópontokat vagy attribútumokat szabványos Java XML-elemzőkkel módosíthatja, majd a módosított ticketet visszarendelheti a dokumentumhoz vagy az oldalhoz.
3. Mi történik, ha egy feladatszintű és egy oldalszintű Print Ticket is jelen van?
Az oldalszintű Print Ticket elsőbbséget élvez a feladatszintű Print Ticket felett az adott oldalon, így a fejlesztők vegyes médiát használó nyomtatási feladatokat hozhatnak létre (például kartonból készült borítóoldalakat szabványos egyszerű szöveges oldalakkal kombinálva).