使用XMP公用程式 working-with-xmp-utilities
本檔案中的範例和範例僅適用於JEE環境上的AEM Forms 。
關於XMP公用程式服務
PDF檔案包含中繼資料,這是與檔案內容(例如文字和圖形)區別開的檔案相關資訊。 Adobe可延伸中繼資料平台(XMP)是處理檔案中繼資料的標準。
「XMP公用程式」服務可以從PDF檔案中擷取和儲存XMP中繼資料,並將XMP中繼資料匯入PDF檔案中。
您可以使用「XMP公用程式」服務完成這些工作:
- 將中繼資料匯入PDF檔案。 (請參閱 將中繼資料匯入PDF檔案.)
- 從PDF檔案匯出中繼資料。 (請參閱 從PDF檔案匯出中繼資料.)
將中繼資料匯入PDF檔案 importing-metadata-into-pdf-documents
您可以使用XMP Utilities Java和Web服務API,以程式設計方式將XMP中繼資料匯入PDF檔案中。 中繼資料提供有關PDF檔案的資訊,例如檔案的作者以及與檔案相關的關鍵字。 中繼資料可以在檔案的「檔案屬性」對話方塊中,如下圖所示。
若要以程式設計方式將中繼資料匯入PDF檔案,您可以使用指定中繼資料值的現有XML檔案,也可以使用型別的物件 XMPUtilityMetadata
. (請參閱 AEM Forms API參考.)
下列XML程式碼包含對應至上圖的中繼資料值。 例如,請注意指定關鍵字的粗體專案。
<?xpacket begin="?" id="W5M0MpCehiHzreSzNTczkc9d"?>
<x:xmpmeta xmlns:x="adobe:ns:meta/" x:xmptk="Adobe XMP Core 4.2-jc015 52.349034, 2008 Jun 20 00:30:39-PDT (debug)">
<rdf:RDF xmlns:rdf="https://www.w3.org/1999/02/22-rdf-syntax-ns#">
<rdf:Description rdf:about=""
xmlns:xmp="https://ns.adobe.com/xap/1.0/">
<xmp:MetadataDate>2008-10-22T10:52:21-04:00</xmp:MetadataDate>
<xmp:CreatorTool>AEM Forms</xmp:CreatorTool>
<xmp:ModifyDate>2008-10-22T10:52:21-04:00</xmp:ModifyDate>
<xmp:CreateDate>2008-02-13T11:00:18-05:00</xmp:CreateDate>
</rdf:Description>
<rdf:Description rdf:about=""
xmlns:pdf="https://ns.adobe.com/pdf/1.3/">
<pdf:Producer>AEM Forms</pdf:Producer>
<pdf:Keywords>keyword1, keyword2, keyword3,keyword4</pdf:Keywords>
</rdf:Description>
<rdf:Description rdf:about=""
xmlns:xmpMM="https://ns.adobe.com/xap/1.0/mm/">
<xmpMM:DocumentID>uuid:1cce1f84-331e-4d8d-8538-15441c271dd7</xmpMM:DocumentID>
<xmpMM:InstanceID>uuid:cdda0ca6-7c91-4771-9dc9-796c8fe59350</xmpMM:InstanceID>
</rdf:Description>
<rdf:Description rdf:about=""
>
<dc:format>application/pdf</dc:format>
<dc:description>
<rdf:Alt>
<rdf:li xml:lang="x-default">Adobe Designer Sample</rdf:li>
</rdf:Alt>
</dc:description>
<dc:title>
<rdf:Alt>
<rdf:li xml:lang="x-default">Grant Application</rdf:li>
</rdf:Alt>
</dc:title>
<dc:creator>
<rdf:Seq>
<rdf:li>Tony Blue</rdf:li>
</rdf:Seq>
</dc:creator>
<dc:subject>
<rdf:Bag>
<rdf:li>keyword1</rdf:li>
<rdf:li>keyword2</rdf:li>
<rdf:li>keyword3</rdf:li>
<rdf:li>keyword4</rdf:li>
</rdf:Bag>
</dc:subject>
</rdf:Description>
<rdf:Description rdf:about=""
xmlns:desc="https://ns.adobe.com/xfa/promoted-desc/">
<desc:version rdf:parseType="Resource">
<rdf:value>1.0</rdf:value>
<desc:ref>/template/subform[1]</desc:ref>
</desc:version>
<desc:contact rdf:parseType="Resource">
<rdf:value>Adobe Systems Incorporated</rdf:value>
<desc:ref>/template/subform[1]</desc:ref>
</desc:contact>
</rdf:Description>
</rdf:RDF>
</x:xmpmeta>
步驟摘要 summary-of-steps
若要將XMP中繼資料匯入PDF檔案,請執行下列步驟:
- 包含專案檔案。
- 建立XMPUtilityService使用者端。
- 叫用XMP中繼資料匯入作業。
包含專案檔案
將必要的檔案納入您的開發專案中。 如果您使用Java建立使用者端應用程式,請包含必要的JAR檔案。 如果您使用Web服務,請確定您包含Proxy檔案。
建立XMPUtilityService使用者端
您必須先建立XMPUtilityService使用者端,才能以程式設計方式執行XMP Utilities作業。 使用Java API時,可透過建立 XMPUtilityServiceClient
物件。 使用Web服務API時,這是透過使用 XMPUtilityServiceService
物件。
叫用XMP中繼資料匯入作業
建立服務使用者端後,您可以叫用其中一個XMP中繼資料匯入作業,將XMP中繼資料匯入指定的PDF檔案中。
另請參閱
使用Java API匯入XMP中繼資料 import-xmp-metadata-using-the-java-api
使用XMP Utilities API (Java)匯入XMP中繼資料:
-
包含專案檔案
在您的Java專案的類別路徑中包含使用者端JAR檔案,例如adobe-pdfutility-client.jar。
note note NOTE adobe-pdfutility-client.jar檔案包含的類別可讓您以程式設計方式叫用XMP Utilities服務。 -
建立XMPUtilityService使用者端
建立
XMPUtilityServiceClient
物件,使用它的建構函式傳遞ServiceClientFactory
包含連線屬性的物件。 -
叫用XMP中繼資料匯入作業
若要修改XMP中繼資料,請叫用
XMPUtilityServiceClient
物件的importMetadata
方法或其importXMP
方法。如果您使用
importMetadata
方法,傳入下列值:- A
com.adobe.idp.Document
代表PDF檔案的物件。 - 一個
XMPUtilityMetadata
包含要匯入之中繼資料的物件。
如果您使用
importXMP
方法,傳入下列值:- A
com.adobe.idp.Document
代表PDF檔案的物件。 - A
com.adobe.idp.Document
物件,代表包含要匯入之中繼資料的XML檔案。
在任何一種情況下,傳回的值為
com.adobe.idp.Document
物件,代表含有新匯入中繼資料的PDF檔案。 然後您可以將此物件儲存到磁碟。 - A
另請參閱
使用Web服務API匯入XMP中繼資料 importing-xmp-metadata-using-the-web-service-api
若要使用XMP Utilities Web服務API以程式設計方式匯入XMP中繼資料,請執行下列工作:
-
包含專案檔案
- 建立使用XMP公用程式服務WSDL檔案的Microsoft .NET使用者端元件。 (請參閱 使用Base64編碼叫用AEM Forms.)
- 參考Microsoft .NET使用者端元件。 (請參閱 建立使用Base64編碼的.NET使用者端元件.)
-
建立XMPUtilityService使用者端
建立
XMPUtilityServiceService
物件,使用您的proxy類別建構函式。 -
叫用XMP中繼資料匯入作業
若要修改XMP中繼資料,請叫用
XMPUtilityServiceService
物件的importMetadata
方法或其importXMP
方法。如果您使用
importMetadata
方法,傳入下列值:- A
BLOB
代表PDF檔案的物件。 - 一個
XMPUtilityMetadata
包含要匯入之中繼資料的物件。
如果您使用
importXMP
方法,傳入下列值:- A
BLOB
代表PDF檔案的物件。 - A
BLOB
物件,代表包含要匯入之中繼資料的XML檔案。
在任何一種情況下,傳回的值為
BLOB
物件,代表含有新匯入中繼資料的PDF檔案。 然後您可以將此物件儲存到磁碟。 - A
另請參閱
從PDF檔案匯出中繼資料 exporting-metadata-from-pdf-documents
您可以使用XMP Utilities Java和Web服務API,以程式設計方式從PDF檔案中擷取和儲存XMP中繼資料。
步驟摘要 summary_of_steps-1
若要從PDF檔案匯出XMP中繼資料,請執行下列步驟:
- 包含專案檔案。
- 建立XMPUtilityService使用者端。
- 叫用XMP中繼資料匯出作業。
包含專案檔案
將必要的檔案納入您的開發專案中。 如果您使用Java建立使用者端應用程式,請包含必要的JAR檔案。 如果您使用Web服務,請確定您包含Proxy檔案。
建立XMPUtilityService使用者端
您必須先建立XMPUtilityService使用者端,才能以程式設計方式執行XMP Utilities作業。 使用Java AP時,可透過建立 XMPUtilityServiceClient
物件。 使用Web服務API時,可使用 XMPUtilityServiceService
物件。
叫用XMP中繼資料匯出作業
建立服務使用者端後,您可以叫用其中一個XMP中繼資料匯出操作,可用來檢查XMP中繼資料或將其儲存至磁碟。
另請參閱
使用Java API匯出XMP中繼資料 export-xmp-metadata-using-the-java-api
使用XMP Utilities API (Java)匯出XMP中繼資料:
-
包含專案檔案
在您的Java專案的類別路徑中包含使用者端JAR檔案,例如adobe-pdfutility-client.jar。
note note NOTE adobe-pdfutility-client.jar檔案包含的類別可讓您以程式設計方式叫用XMP公用程式服務。 -
建立XMPUtilityService使用者端
建立
XMPUtilityServiceClient
物件,使用它的建構函式傳遞ServiceClientFactory
包含連線屬性的物件。 -
叫用XMP中繼資料匯入作業
若要檢查XMP中繼資料,請叫用
XMPUtilityServiceClient
物件的exportMetadata
方法並傳入com.adobe.idp.Document
代表PDF檔案的物件。 方法會傳回XMPUtilityMetadata
包含已擷取中繼資料的物件。若要擷取及儲存XMP中繼資料,請叫用
XMPUtilityServiceClient
物件的exportXMP
方法並傳入com.adobe.idp.Document
代表PDF檔案的物件。 方法會傳回com.adobe.idp.Document
包含擷取的中繼資料的物件,之後可將其儲存為磁碟的XML檔案。
另請參閱
使用網站服務API匯出XMP中繼資料 export-xmp-metadata-using-the-web-service-api
使用XMP Utilities API (Web服務)匯出XMP中繼資料:
-
包含專案檔案
- 建立使用XMP公用程式服務WSDL檔案的Microsoft .NET使用者端元件。
- 參考Microsoft .NET使用者端元件。
-
建立XMPUtilityService使用者端
建立
XMPUtilityServiceService
物件,使用您的proxy類別建構函式。 -
叫用XMP中繼資料匯入作業
若要檢查XMP中繼資料,請叫用
XMPUtilityServiceClient
物件的exportMetadata
方法並傳入BLOB
代表PDF檔案的物件。 方法會傳回XMPUtilityMetadata
包含已擷取中繼資料的物件。若要擷取及儲存XMP中繼資料,請叫用
XMPUtilityServiceClient
物件的exportXMP
方法並傳入BLOB
代表PDF檔案的物件。 方法會傳回BLOB
包含擷取的中繼資料的物件,之後可將其儲存為磁碟的XML檔案。
另請參閱