Bestandsindelingen omzetten in PDF
Gemaakt voor:
- Developer
Over de Generate PDF Service
Met de service PDF genereren worden native bestandsindelingen geconverteerd naar PDF. Het zet ook PDF in andere dossierformaten om en optimaliseert de grootte van PDF documenten.
De service PDF genereren gebruikt native toepassingen om de volgende bestandsindelingen om te zetten in PDF. Tenzij anders aangegeven, worden alleen de Duitse, Franse, Engelse en Japanse versies van deze toepassingen ondersteund. Alleen Windows Geeft alleen ondersteuning aan voor Windows Server® 2003 en Windows Server 2008.
-
Microsoft Office 2003 en 2007 voor de conversie van DOC, DOCX, RTF, TXT, XLS, XLSX, PPT, PPTX, VSD, MPP, MPPX, XPS en PUB (alleen Windows)
NOTE
Acrobat® 9.2 of hoger is vereist om de Microsoft XPS-indeling om te zetten in PDF. -
Autodesk AutoCAD 2005, 2006, 2007, 2008 en 2009 om DWF, DWG en DXW om te zetten (alleen in het Engels)
-
Corel WordPerfect 12 en X4 voor conversie van WPD, QPW, SHW (alleen in het Engels)
-
OpenOffice 2.0, 2.4, 3.0.1 en 3.1 voor het converteren van ODT, ODS, ODP, ODF, ODF, SXW, SXC, SXD, DOC, DOCX, RTF, TXT, XLS, XLSX, PPT, PPTX, VSD, MPP, MPPX en PUB
NOTE
De dienst Generate PDF steunt niet de versies met 64 bits van OpenOffice. -
Adobe Photoshop® CS2 voor conversie van PSD (alleen Windows)
NOTE
Photoshop CS3 en CS4 worden niet ondersteund omdat ze Windows Server 2003 of Windows Server 2008 niet ondersteunen. -
Adobe FrameMaker® 7.2 en 8 voor conversie van FM (alleen Windows)
-
Adobe PageMaker® 7.0 om PMD, PM6, P65 en PM om te zetten (alleen Windows)
-
Native indelingen die worden ondersteund door toepassingen van derden (hiervoor moet specifieke instellingsbestanden voor de toepassing worden ontwikkeld) (alleen Windows)
Met de service PDF genereren zet u de volgende op standaarden gebaseerde bestandsindelingen om in PDF.
- Video-indelingen: SWF, FLV (alleen Windows)
- Afbeeldingsindelingen: JPEG, JPG, JP2, J2Kí, JPC, J2C, GIF, BMP, TIFF, TIF, PNG, JPF
- HTML (Windows, Sun™ Solaris™ en Linux®)
Met de service PDF genereren wordt PDF omgezet in de volgende bestandsindelingen (alleen Windows):
- Encapsulated PostScript (EPS)
- HTML 3.2
- HTML 4.01 met CSS 1.0
- DOC (Microsoft Word-indeling)
- RTF
- Tekst (zowel toegankelijk als onbewerkt)
- XML
- PDF/A-1a die alleen de DeviceRGB-kleurruimte gebruikt
- PDF/A-1b die alleen de DeviceRGB-kleurruimte gebruikt
De dienst Generate PDF vereist dat u deze administratieve taken uitvoert:
- De vereiste native toepassingen installeren op de computer die als host fungeert voor AEM Forms
- Installeer Adobe Acrobat Professional of Acrobat Pro Extended 9.2 op de computer die als host fungeert voor AEM Forms
- Instellingstaken na de installatie uitvoeren
Deze taken worden beschreven in AEM installeren en implementeren met JBoss Turnkey.
U kunt deze taken verwezenlijken gebruikend de Generate dienst van de PDF:
- Converteren van eigen bestandsindelingen naar PDF.
- HTML-documenten converteren naar PDF-documenten.
- PDF-documenten converteren naar bestandsindelingen.
Word-documenten converteren naar PDF-documenten
In deze sectie wordt beschreven hoe u met de API PDF genereren een Microsoft Word-document programmatisch kunt converteren naar een PDF-document.
Overzicht van de stappen
Als u een Microsoft Word-document wilt converteren naar een PDF-document, voert u de volgende taken uit:
- Inclusief projectbestanden.
- Maak een Generate PDF client.
- Haal het bestand op dat u wilt converteren naar een PDF-document.
- Zet het bestand om in een PDF-document.
- Haal de resultaten op.
Projectbestanden opnemen
Neem de benodigde bestanden op in uw ontwikkelingsproject. Als u een clienttoepassing maakt met Java, neemt u de benodigde JAR-bestanden op. Als u webservices gebruikt, dient u de proxybestanden op te nemen.
Een PDF-client genereren
Alvorens u kunt programmatically uitvoeren PDF verrichting, creeer een Generate de dienstcliënt van de PDF. Als u de Java API gebruikt, maakt u een GeneratePdfServiceClient
object. Als u de webservice-API gebruikt, maakt u een GeneratePDFServiceService
object.
Het bestand ophalen dat naar een PDF-document moet worden geconverteerd
Haal het Microsoft Word-document op dat u wilt converteren naar een PDF-document.
Het bestand converteren naar een PDF-document
Nadat u de Generate de dienstcliënt van de PDF creeert, kunt u aanhalen createPDF2
methode. Deze methode heeft informatie nodig over het document dat moet worden geconverteerd, inclusief de bestandsextensie.
De resultaten ophalen
Nadat het bestand is geconverteerd naar een PDF-document, kunt u de resultaten ophalen. Nadat u bijvoorbeeld een Word-bestand naar een PDF-document hebt geconverteerd, kunt u het PDF-document ophalen en opslaan.
Zie ook
Word-documenten converteren naar PDF-documenten met de Java API
Word-documenten converteren naar PDF-documenten met de API voor webservices
Inclusief AEM Forms Java-bibliotheekbestanden
Verbindingseigenschappen instellen
Snel aan de slag met PDF Service API
Word-documenten converteren naar PDF-documenten met de Java API
Converteer een Microsoft Word-document naar een PDF-document met de Generate PDF API (Java):
-
Inclusief projectbestanden.
Neem client-JAR-bestanden, zoals adobe-generatepdf-client.jar, op in het klassenpad van uw Java-project.
-
Maak een Generate PDF client.
- Een
ServiceClientFactory
object dat verbindingseigenschappen bevat. - Een
GeneratePdfServiceClient
object door de constructor ervan te gebruiken en door te gevenServiceClientFactory
object.
- Een
-
Haal het bestand op dat u wilt converteren naar een PDF-document.
- Een
java.io.FileInputStream
object dat staat voor het Word-bestand dat moet worden geconverteerd met de constructor ervan. Geef een tekenreekswaarde door die de bestandslocatie opgeeft. - Een
com.adobe.idp.Document
object door de constructor ervan te gebruiken en door te gevenjava.io.FileInputStream
object.
- Een
-
Zet het bestand om in een PDF-document.
Zet het bestand om in een PDF-document door het
GeneratePdfServiceClient
objectcreatePDF2
en geeft de volgende waarden door:- A
com.adobe.idp.Document
object dat het bestand vertegenwoordigt dat moet worden omgezet. - A
java.lang.String
-object dat de bestandsextensie bevat. - A
java.lang.String
-object dat de instellingen voor het bestandstype bevat die bij de conversie moeten worden gebruikt. Instellingen voor bestandstypen bieden conversie-instellingen voor verschillende bestandstypen, zoals .doc of .xls. - A
java.lang.String
-object dat de naam bevat van de te gebruiken PDF-instellingen. U kunt bijvoorbeeldStandard
. - A
java.lang.String
-object dat de naam bevat van de beveiligingsinstellingen die moeten worden gebruikt. - Een optioneel
com.adobe.idp.Document
-object dat instellingen bevat die moeten worden toegepast tijdens het genereren van het PDF-document. - Een optioneel
com.adobe.idp.Document
object dat metagegevens bevat die op het PDF-document moeten worden toegepast.
De
createPDF2
methode retourneert eenCreatePDFResult
object dat het nieuwe PDF-document en een logbestand bevat. Het logbestand bevat doorgaans fout- of waarschuwingsberichten die worden gegenereerd door de conversieaanvraag. - A
-
Haal de resultaten op.
Voer de volgende handelingen uit om het PDF-document te verkrijgen:
- De
CreatePDFResult
objectgetCreatedDocument
methode, die eencom.adobe.idp.Document
object. - De
com.adobe.idp.Document
objectcopyToFile
methode om het PDF-document te extraheren uit het object dat in de vorige stap is gemaakt.
Als u het
createPDF2
de methode om het logboekdocument (niet van toepassing op HTML omzettingen) te verkrijgen, voert de volgende acties uit:- De
CreatePDFResult
objectgetLogDocument
methode. Dit retourneert eencom.adobe.idp.Document
object. - De
com.adobe.idp.Document
objectcopyToFile
methode om het logdocument te extraheren.
- De
Zie ook
Inclusief AEM Forms Java-bibliotheekbestanden
Verbindingseigenschappen instellen
Word-documenten converteren naar PDF-documenten met de API voor webservices
Converteer een Microsoft Word-document naar een PDF-document met de Generate PDF API (webservice):
-
Inclusief projectbestanden.
Creeer een Microsoft .NET project dat MTOM gebruikt. Zorg ervoor dat u de volgende definitie van WSDL gebruikt:
http://localhost:8080/soap/services/GeneratePDFService?WSDL&lc_version=9.0.1
.NOTE
Vervangenlocalhost
met het IP-adres van de server die als host fungeert voor AEM Forms. -
Maak een Generate PDF client.
-
Een
GeneratePDFServiceClient
object met de standaardconstructor. -
Een
GeneratePDFServiceClient.Endpoint.Address
object gebruikenSystem.ServiceModel.EndpointAddress
constructor. Geef een tekenreekswaarde die de WSDL opgeeft door aan de AEM Forms-service (bijvoorbeeldhttp://localhost:8080/soap/services/GeneratePDFService?blob=mtom
.) U hoeft delc_version
kenmerk. Geef echter?blob=mtom
. -
Een
System.ServiceModel.BasicHttpBinding
object door de waarde van het object op te halenGeneratePDFServiceClient.Endpoint.Binding
veld. De geretourneerde waarde omzetten inBasicHttpBinding
. -
Stel de
System.ServiceModel.BasicHttpBinding
objectMessageEncoding
veld naarWSMessageEncoding.Mtom
. Deze waarde zorgt ervoor dat MTOM wordt gebruikt. -
Laat basisauthentificatie van HTTP door de volgende taken uit te voeren toe:
- Wijs de gebruikersnaam van het AEM aan het veld toe
GeneratePDFServiceClient.ClientCredentials.UserName.UserName
. - De bijbehorende wachtwoordwaarde aan het veld toewijzen
GeneratePDFServiceClient.ClientCredentials.UserName.Password
. - De constante waarde toewijzen
HttpClientCredentialType.Basic
naar het veldBasicHttpBindingSecurity.Transport.ClientCredentialType
. - De constante waarde toewijzen
BasicHttpSecurityMode.TransportCredentialOnly
naar het veldBasicHttpBindingSecurity.Security.Mode
.
- Wijs de gebruikersnaam van het AEM aan het veld toe
-
-
Haal het bestand op dat u wilt converteren naar een PDF-document.
- Een
BLOB
object met behulp van de constructor. DeBLOB
wordt gebruikt om het bestand op te slaan dat u wilt converteren naar een PDF-document. - Een
System.IO.FileStream
object door de constructor ervan aan te roepen. Geef een tekenreekswaarde door die de bestandslocatie vertegenwoordigt van het bestand dat moet worden omgezet en de modus waarin het bestand moet worden geopend. - Maak een bytearray waarin de inhoud van de
System.IO.FileStream
object. U kunt de grootte van de bytearray bepalen door deSystem.IO.FileStream
objectLength
eigenschap. - De bytearray vullen met streamgegevens door de
System.IO.FileStream
objectRead
en geeft u de bytearray, de startpositie en de streamlengte door die u wilt lezen. - Vul de
BLOB
object door aan het object toe te wijzenMTOM
geeft de inhoud van de bytearray op.
- Een
-
Zet het bestand om in een PDF-document.
Zet het bestand om in een PDF-document door het
GeneratePDFServiceService
objectCreatePDF2
en geeft de volgende waarden door:- A
BLOB
object dat het bestand vertegenwoordigt dat moet worden omgezet. - Een tekenreeks die de bestandsextensie bevat.
- A
java.lang.String
-object dat de instellingen voor het bestandstype bevat die bij de conversie moeten worden gebruikt. Instellingen voor bestandstypen bieden conversie-instellingen voor verschillende bestandstypen, zoals .doc of .xls. - Een tekenreeksobject dat de PDF-instellingen bevat die moeten worden gebruikt. U kunt
Standard
. - Een tekenreeksobject dat de beveiligingsinstellingen bevat die moeten worden gebruikt. U kunt
No Security
. - Een optioneel
BLOB
-object dat instellingen bevat die moeten worden toegepast tijdens het genereren van het PDF-document. - Een optioneel
BLOB
object dat metagegevens bevat die op het PDF-document moeten worden toegepast. - Een uitvoerparameter van het type
BLOB
die wordt gevuld door deCreatePDF2
methode. DeCreatePDF2
Hiermee wordt dit object gevuld met het omgezette document. (Deze parameterwaarde is alleen vereist voor aanroepen van een webservice.) - Een uitvoerparameter van het type
BLOB
die wordt gevuld door deCreatePDF2
methode. DeCreatePDF2
Hiermee wordt dit object gevuld met het logdocument. (Deze parameterwaarde is alleen vereist voor aanroepen van een webservice.)
- A
-
Haal de resultaten op.
- Het omgezette PDF-document ophalen door het
BLOB
objectMTOM
veld naar een bytearray. De bytearray vertegenwoordigt het omgezette PDF-document. Zorg ervoor dat u deBLOB
object dat wordt gebruikt als de uitvoerparameter voor decreatePDF2
methode. - Een
System.IO.FileStream
door de constructor ervan aan te roepen en een tekenreekswaarde door te geven die de bestandslocatie van het omgezette PDF-document vertegenwoordigt. - Een
System.IO.BinaryWriter
object door de constructor aan te roepen en deSystem.IO.FileStream
object. - Schrijf de inhoud van de bytearray naar een PDF-bestand door het
System.IO.BinaryWriter
objectWrite
en geeft u de bytearray door.
- Het omgezette PDF-document ophalen door het
Zie ook
AEM Forms aanroepen met SwaRef
HTML-documenten converteren naar PDF-documenten
In deze sectie wordt beschreven hoe u de PDF API genereren kunt gebruiken om HTML-documenten programmatisch om te zetten in PDF-documenten.
Overzicht van de stappen
Als u een HTML-document wilt converteren naar een PDF-document, voert u de volgende taken uit:
- Inclusief projectbestanden.
- Maak een Generate PDF client.
- Haal de HTML-inhoud op die u wilt converteren naar een PDF-document.
- Zet de inhoud van de HTML om in een document van de PDF.
- Haal de resultaten op.
Projectbestanden opnemen
Neem de benodigde bestanden op in uw ontwikkelingsproject. Als u een clienttoepassing maakt met Java, neemt u de benodigde JAR-bestanden op. Als u webservices gebruikt, dient u de proxybestanden op te nemen.
Een PDF-client genereren
Alvorens u kunt programmatically uitvoeren PDF verrichting, moet u tot een Generate de dienstcliënt van de PDF leiden. Als u de Java API gebruikt, maakt u een GeneratePdfServiceClient
object. Als u de webservice-API gebruikt, maakt u een GeneratePDFServiceService
.
De HTML-inhoud ophalen voor conversie naar een PDF-document
Verwijs naar HTML-inhoud die u wilt converteren naar een PDF-document. U kunt verwijzen naar HTML-inhoud, zoals een HTML-bestand of HTML-inhoud die via een URL toegankelijk is.
De HTML-inhoud omzetten in een PDF-document
Nadat u de de dienstcliënt creeert, kunt u de aangewezen verrichting van de PDF verwezenlijking aanhalen. Voor deze bewerking is informatie nodig over het document dat moet worden geconverteerd, inclusief het pad naar het doeldocument.
De resultaten ophalen
Nadat de inhoud van de HTML in een document van de PDF wordt omgezet, kunt u de resultaten terugwinnen en het document van de PDF bewaren.
Zie ook
Inhoud van HTML converteren naar een PDF-document met de Java API
Inhoud van HTML converteren naar een PDF-document met de webservice-API
Inclusief AEM Forms Java-bibliotheekbestanden
Verbindingseigenschappen instellen
Snel aan de slag met PDF Service API
Inhoud van HTML converteren naar een PDF-document met de Java API
Een HTML-document converteren naar een PDF-document met behulp van de Generate PDF API (Java):
-
Inclusief projectbestanden.
Neem client-JAR-bestanden, zoals adobe-generatepdf-client.jar, op in het klassenpad van uw Java-project.
-
Maak een Generate PDF client.
Een
GeneratePdfServiceClient
object door de constructor ervan te gebruiken en een object door te gevenServiceClientFactory
object dat verbindingseigenschappen bevat. -
Haal de HTML-inhoud op die u wilt converteren naar een PDF-document.
Haal HTML-inhoud op door een tekenreeksvariabele te maken en een URL toe te wijzen die naar HTML-inhoud wijst.
-
Zet de inhoud van de HTML om in een document van de PDF.
De
GeneratePdfServiceClient
objecthtmlToPDF2
en geeft de volgende waarden door:- A
java.lang.String
-object dat de URL bevat van het HTML-bestand dat moet worden geconverteerd. - A
java.lang.String
-object dat de instellingen voor het bestandstype bevat die bij de conversie moeten worden gebruikt. Instellingen voor bestandstypen kunnen spinningsniveaus bevatten. - A
java.lang.String
-object dat de naam bevat van de beveiligingsinstellingen die moeten worden gebruikt. - Een optioneel
com.adobe.idp.Document
-object dat instellingen bevat die moeten worden toegepast tijdens het genereren van het PDF-document. Als deze informatie niet wordt verstrekt, worden de montages automatisch gekozen gebaseerd op de vorige drie parameters. - Een optioneel
com.adobe.idp.Document
object dat metagegevens bevat die op het PDF-document moeten worden toegepast.
- A
-
Haal de resultaten op.
De
htmlToPDF2
methode retourneert eenHtmlToPdfResult
-object dat het nieuwe PDF-document bevat dat is gegenereerd. Voer de volgende handelingen uit om het nieuwe PDF-document te verkrijgen:- De
HtmlToPdfResult
objectgetCreatedDocument
methode. Dit retourneert eencom.adobe.idp.Document
object. - De
com.adobe.idp.Document
objectcopyToFile
methode om het PDF-document te extraheren uit het object dat in de vorige stap is gemaakt.
- De
Zie ook
HTML-documenten converteren naar PDF-documenten
Snel starten (SOAP-modus): HTML-inhoud converteren naar een PDF-document met de Java API
Snel starten (SOAP-modus): HTML-inhoud converteren naar een PDF-document met de Java API
Inclusief AEM Forms Java-bibliotheekbestanden
Verbindingseigenschappen instellen
Inhoud van HTML converteren naar een PDF-document met de webservice-API
HTML-inhoud converteren naar een PDF-document met de Generate PDF API (webservice):
-
Inclusief projectbestanden.
Creeer een Microsoft .NET project dat MTOM gebruikt. Zorg ervoor dat u de volgende definitie van WSDL gebruikt:
http://localhost:8080/soap/services/GeneratePDFService?WSDL&lc_version=9.0.1
.NOTE
Vervangenlocalhost
met het IP-adres van de server die als host fungeert voor AEM Forms. -
Maak een Generate PDF client.
-
Een
GeneratePDFServiceClient
object met de standaardconstructor. -
Een
GeneratePDFServiceClient.Endpoint.Address
object gebruikenSystem.ServiceModel.EndpointAddress
constructor. Geef een tekenreekswaarde die de WSDL opgeeft door aan de AEM Forms-service (bijvoorbeeldhttp://localhost:8080/soap/services/GeneratePDFService?blob=mtom
.) U hoeft delc_version
kenmerk. Geef echter?blob=mtom
. -
Een
System.ServiceModel.BasicHttpBinding
object door de waarde van het object op te halenGeneratePDFServiceClient.Endpoint.Binding
veld. De geretourneerde waarde omzetten inBasicHttpBinding
. -
Stel de
System.ServiceModel.BasicHttpBinding
objectMessageEncoding
veld naarWSMessageEncoding.Mtom
. Deze waarde zorgt ervoor dat MTOM wordt gebruikt. -
Laat basisauthentificatie van HTTP door de volgende taken uit te voeren toe:
- Wijs de gebruikersnaam van het AEM aan het veld toe
GeneratePDFServiceClient.ClientCredentials.UserName.UserName
. - De bijbehorende wachtwoordwaarde aan het veld toewijzen
GeneratePDFServiceClient.ClientCredentials.UserName.Password
. - De constante waarde toewijzen
HttpClientCredentialType.Basic
naar het veldBasicHttpBindingSecurity.Transport.ClientCredentialType
. - De constante waarde toewijzen
BasicHttpSecurityMode.TransportCredentialOnly
naar het veldBasicHttpBindingSecurity.Security.Mode
.
- Wijs de gebruikersnaam van het AEM aan het veld toe
-
-
Haal de HTML-inhoud op die u wilt converteren naar een PDF-document.
Haal HTML-inhoud op door een tekenreeksvariabele te maken en een URL toe te wijzen die naar HTML-inhoud wijst.
-
Zet de inhoud van de HTML om in een document van de PDF.
Zet de HTML-inhoud om in een PDF-document door het
GeneratePDFServiceService
objectHtmlToPDF2
en geeft de volgende waarden door:- Een tekenreeks die de HTML-inhoud bevat die moet worden omgezet.
- A
java.lang.String
-object dat de instellingen voor het bestandstype bevat die bij de conversie moeten worden gebruikt. - Een tekenreeksobject dat de beveiligingsinstellingen bevat die moeten worden gebruikt.
- Een optioneel
BLOB
-object dat instellingen bevat die moeten worden toegepast tijdens het genereren van het PDF-document. - Een optioneel
BLOB
object dat metagegevens bevat die op het PDF-document moeten worden toegepast. - Een uitvoerparameter van het type
BLOB
die wordt gevuld door deCreatePDF2
methode. DeCreatePDF2
Hiermee wordt dit object gevuld met het omgezette document. (Deze parameterwaarde is alleen vereist voor aanroepen van een webservice.)
-
Haal de resultaten op.
- Het omgezette PDF-document ophalen door het
BLOB
objectMTOM
veld naar een bytearray. De bytearray vertegenwoordigt het omgezette PDF-document. Zorg ervoor dat u deBLOB
object dat wordt gebruikt als de uitvoerparameter voor deHtmlToPDF2
methode. - Een
System.IO.FileStream
door de constructor ervan aan te roepen en een tekenreekswaarde door te geven die de bestandslocatie van het omgezette PDF-document vertegenwoordigt. - Een
System.IO.BinaryWriter
object door de constructor aan te roepen en deSystem.IO.FileStream
object. - Schrijf de inhoud van de bytearray naar een PDF-bestand door het
System.IO.BinaryWriter
objectWrite
en geeft u de bytearray door.
- Het omgezette PDF-document ophalen door het
Zie ook
HTML-documenten converteren naar PDF-documenten
AEM Forms aanroepen met SwaRef
PDF-documenten omzetten in niet-afbeeldingsindelingen
In deze sectie wordt beschreven hoe u met de API voor het genereren van PDF Java en de webservice een PDF-document programmatisch kunt converteren naar een RTF-bestand. Dit is een voorbeeld van een niet-afbeeldingsindeling. Andere indelingen dan afbeeldingen zijn HTML, tekst, DOC en EPS. Wanneer u een PDF-document converteert naar RTF, moet u ervoor zorgen dat het PDF-document geen formulierelementen bevat, zoals een verzendknop. Formulierelementen worden niet geconverteerd.
Overzicht van de stappen
Voer de volgende stappen uit om een PDF-document te converteren naar een van de ondersteunde typen:
- Inclusief projectbestanden.
- Maak een Generate PDF client.
- Haal het PDF-document op dat u wilt converteren.
- Zet het PDF-document om.
- Sla het geconverteerde bestand op.
Projectbestanden opnemen
Neem de benodigde bestanden op in uw ontwikkelingsproject. Als u een clienttoepassing maakt met Java, neemt u de benodigde JAR-bestanden op. Als u webservices gebruikt, dient u de proxybestanden op te nemen.
Een PDF-client genereren
Alvorens u kunt programmatically uitvoeren PDF verrichting, moet u tot een Generate de dienstcliënt van de PDF leiden. Als u de Java API gebruikt, maakt u een GeneratePdfServiceClient
object. Als u de webservice-API gebruikt, maakt u een GeneratePDFServiceService
object.
Het te converteren PDF-document ophalen
Haal het PDF-document op dat u wilt omzetten in een andere indeling dan afbeeldingen.
Het PDF-document converteren
Nadat u de de dienstcliënt creeert, kunt u de de uitvoerverrichting van de PDF aanhalen. Voor deze bewerking is informatie nodig over het document dat moet worden geconverteerd, inclusief het pad naar het doeldocument.
Het omgezette bestand opslaan
Sla het geconverteerde bestand op. Als u bijvoorbeeld een PDF-document converteert naar een RTF-bestand, slaat u het geconverteerde document op in een RTF-bestand.
Zie ook
Een PDF-document converteren naar een RTF-bestand met de Java API
Een PDF-document converteren naar een RTF-bestand met de webservice-API
Inclusief AEM Forms Java-bibliotheekbestanden
Verbindingseigenschappen instellen
Snel aan de slag met PDF Service API
Een PDF-document converteren naar een RTF-bestand met de Java API
Een PDF-document converteren naar een RTF-bestand met behulp van de Generate PDF API (Java):
-
Inclusief projectbestanden.
Neem client-JAR-bestanden, zoals adobe-generatepdf-client.jar, op in het klassenpad van uw Java-project.
-
Maak een Generate PDF client.
Een
GeneratePdfServiceClient
object door de constructor ervan te gebruiken en een object door te gevenServiceClientFactory
object dat verbindingseigenschappen bevat. -
Haal het PDF-document op dat u wilt converteren.
- Een
java.io.FileInputStream
object dat staat voor het PDF-document dat moet worden geconverteerd met de constructor ervan. Geef een tekenreekswaarde door die de locatie van het PDF-document aangeeft. - Een
com.adobe.idp.Document
object door de constructor ervan te gebruiken en door te gevenjava.io.FileInputStream
object.
- Een
-
Zet het PDF-document om.
De
GeneratePdfServiceClient
objectexportPDF2
en geeft de volgende waarden door:- A
com.adobe.idp.Document
object dat staat voor het PDF-bestand dat moet worden omgezet. - A
java.lang.String
object dat de naam bevat van het bestand dat moet worden omgezet. - A
java.lang.String
object dat de naam van de Adobe PDF-instellingen bevat. - A
ConvertPDFFormatType
-object dat het doelbestandstype voor de conversie opgeeft. - Een optioneel
com.adobe.idp.Document
-object dat instellingen bevat die moeten worden toegepast tijdens het genereren van het PDF-document.
De
exportPDF2
methode retourneert eenExportPDFResult
object dat het omgezette bestand bevat. - A
-
Zet het PDF-document om.
Voer de volgende handelingen uit om het nieuwe bestand te verkrijgen:
- De
ExportPDFResult
objectgetConvertedDocument
methode. Dit retourneert eencom.adobe.idp.Document
object. - De
com.adobe.idp.Document
objectcopyToFile
methode om het nieuwe document te extraheren.
- De
Zie ook
Snel starten (SOAP-modus): HTML-inhoud converteren naar een PDF-document met de Java API
Inclusief AEM Forms Java-bibliotheekbestanden
Verbindingseigenschappen instellen
Een PDF-document converteren naar een RTF-bestand met de webservice-API
Een PDF-document converteren naar een RTF-bestand met de Generate PDF API (webservice):
-
Inclusief projectbestanden.
Creeer een Microsoft .NET project dat MTOM gebruikt. Zorg ervoor dat u de volgende definitie van WSDL gebruikt:
http://localhost:8080/soap/services/GeneratePDFService?WSDL&lc_version=9.0.1
.NOTE
Vervangenlocalhost
met het IP-adres van de server die als host fungeert voor AEM Forms. -
Maak een Generate PDFf client.
-
Een
GeneratePDFServiceClient
object met de standaardconstructor. -
Een
GeneratePDFServiceClient.Endpoint.Address
object gebruikenSystem.ServiceModel.EndpointAddress
constructor. Geef een tekenreekswaarde die de WSDL opgeeft door aan de AEM Forms-service (bijvoorbeeldhttp://localhost:8080/soap/services/GeneratePDFService?blob=mtom
.) U hoeft delc_version
kenmerk. Geef echter?blob=mtom
. -
Een
System.ServiceModel.BasicHttpBinding
object door de waarde van het object op te halenGeneratePDFServiceClient.Endpoint.Binding
veld. De geretourneerde waarde omzetten inBasicHttpBinding
. -
Stel de
System.ServiceModel.BasicHttpBinding
objectMessageEncoding
veld naarWSMessageEncoding.Mtom
. Deze waarde zorgt ervoor dat MTOM wordt gebruikt. -
Laat basisauthentificatie van HTTP door de volgende taken uit te voeren toe:
- Wijs de gebruikersnaam van het AEM aan het veld toe
GeneratePDFServiceClient.ClientCredentials.UserName.UserName
. - De bijbehorende wachtwoordwaarde aan het veld toewijzen
GeneratePDFServiceClient.ClientCredentials.UserName.Password
. - De constante waarde toewijzen
HttpClientCredentialType.Basic
naar het veldBasicHttpBindingSecurity.Transport.ClientCredentialType
. - De constante waarde toewijzen
BasicHttpSecurityMode.TransportCredentialOnly
naar het veldBasicHttpBindingSecurity.Security.Mode
.
- Wijs de gebruikersnaam van het AEM aan het veld toe
-
-
Haal het PDF-document op dat u wilt converteren.
- Een
BLOB
object met behulp van de constructor. DeBLOB
wordt gebruikt om een geconverteerd PDF-document op te slaan. - Een
System.IO.FileStream
door de constructor aan te roepen en een tekenreekswaarde door te geven die de bestandslocatie van het PDF-document en de modus waarin het bestand moet worden geopend, vertegenwoordigt. - Maak een bytearray waarin de inhoud van de
System.IO.FileStream
object. U kunt de grootte van de bytearray bepalen door deSystem.IO.FileStream
objectLength
eigenschap. - De bytearray vullen met streamgegevens door de
System.IO.FileStream
objectRead
en geeft u de bytearray, de startpositie en de streamlengte door die u wilt lezen. - Vul de
BLOB
object door aan het object toe te wijzenMTOM
geeft de inhoud van de bytearray op.
- Een
-
Zet het PDF-document om.
De
GeneratePDFServiceServiceWse
objectExportPDF2
en geeft de volgende waarden door:- A
BLOB
object dat staat voor het PDF-bestand dat moet worden omgezet. - Een tekenreeks die de padnaam bevat van het bestand dat moet worden omgezet.
- A
java.lang.String
-object dat de bestandslocatie opgeeft. - Een tekenreeksobject dat het doelbestandstype voor de conversie opgeeft. Geef het volgende op
RTF
. - Een optioneel
BLOB
-object dat instellingen bevat die moeten worden toegepast tijdens het genereren van het PDF-document. - Een uitvoerparameter van het type
BLOB
die wordt gevuld door deExportPDF2
methode. DeExportPDF2
Hiermee wordt dit object gevuld met het omgezette document. (Deze parameterwaarde is alleen vereist voor aanroepen van een webservice.)
- A
-
Sla het geconverteerde bestand op.
- Het geconverteerde RTF-document ophalen door het
BLOB
objectMTOM
veld naar een bytearray. De bytearray vertegenwoordigt het omgezette RTF-document. Zorg ervoor dat u deBLOB
object dat wordt gebruikt als de uitvoerparameter voor deExportPDF2
methode. - Een
System.IO.FileStream
object door de constructor ervan aan te roepen. Geef een tekenreekswaarde door die de locatie van het RTF-bestand vertegenwoordigt. - Een
System.IO.BinaryWriter
object door de constructor aan te roepen en deSystem.IO.FileStream
object. - Schrijf de inhoud van de bytearray naar een RTF-bestand door het
System.IO.BinaryWriter
objectWrite
en geeft u de bytearray door.
- Het geconverteerde RTF-document ophalen door het
Zie ook
AEM Forms aanroepen met SwaRef
Ondersteuning toevoegen voor extra eigen bestandsindelingen
In deze sectie wordt uitgelegd hoe u ondersteuning voor extra eigen bestandsindelingen kunt toevoegen. Het verstrekt een overzicht van de interactie tussen de Generate dienst van PDF en de inheemse toepassingen die deze dienst gebruikt om inheemse dossierformaten in PDF om te zetten.
In dit gedeelte wordt ook het volgende uitgelegd:
- Hoe te om de reactie te wijzigen die de dienst van de PDF van de Generate aan de inheemse toepassingen verstrekt die dit product reeds gebruikt om inheemse dossierformaten in PDF om te zetten
- De interactie tussen de dienst Generate PDF, de Generate component van de de dienstToepassing van de PDF (AppMon), en inheemse toepassingen, zoals Microsoft Word
- De rollen die de grammen van XML in die interactie spelen
Componentinteracties
Met de service PDF genereren worden eigen bestandsindelingen geconverteerd door de toepassing aan te roepen die is gekoppeld aan de bestandsindeling en vervolgens te communiceren met de toepassing om het document af te drukken met de standaardprinter. De standaardprinter moet zijn ingesteld als de Adobe PDF-printer.
In deze illustratie worden de componenten en stuurprogramma's weergegeven die zijn betrokken bij native toepassingsondersteuning. Ook worden de XML-grammen genoemd die de interacties beïnvloeden.
Interacties van componenten voor conversie van native bestanden
In dit document wordt de term native toepassing om aan te geven welke toepassing wordt gebruikt om een eigen bestandsindeling te maken, zoals Microsoft Word.
AppMon is een ondernemingscomponent die met een inheemse toepassing op dezelfde manier interactie aangaat een gebruiker door de dialoogdozen navigeert die door die toepassing worden voorgesteld. De grammars van XML die door AppMon worden gebruikt om een toepassing, zoals Microsoft Word, op te dragen om een dossier te openen en te drukken omvatten deze opeenvolgende taken:
- Het bestand openen door Bestand > Openen te selecteren
- Ervoor zorgen dat het dialoogvenster Openen wordt weergegeven; zo niet, de fout afhandelen
- Bestandsnaam opgeven in het veld Bestandsnaam en vervolgens op de knop Openen klikken
- Ervoor zorgen dat het bestand daadwerkelijk wordt geopend
- Het dialoogvenster Afdrukken openen door Bestand > Afdrukken te selecteren
- Het dialoogvenster Afdrukken wordt weergegeven
AppMon gebruikt standaard Win32 APIs om met derdetoepassingen in wisselwerking te staan om gebeurtenissen over te brengen UI zoals zeer belangrijk-slagen en muisklikken, die nuttig is om deze toepassingen te controleren om PDF dossiers van hen te produceren.
Vanwege een beperking met deze Win32 APIs, kan AppMon deze gebeurtenissen UI aan sommige specifieke soorten vensters, zoals floating menu-bars (die in sommige toepassingen zoals TextPad worden gevonden), en bepaalde soorten dialogen niet verzenden de waarvan inhoud niet kan worden teruggewonnen gebruikend Win32 APIs.
Een zwevende menubalk kan gemakkelijk visueel worden geïdentificeerd. het is echter mogelijk dat de speciale soorten dialogen niet door visuele inspectie kunnen worden geïdentificeerd . U zou een derdetoepassing zoals Microsoft Spy++ (deel van de ontwikkelomgeving van Microsoft Visual C++) of zijn gelijkwaardige WinID (vereisen die van kosten kan worden gedownload https://www.dennisbabkin.com/php/download.php?what=WinID) om een dialoog te onderzoeken om te bepalen als AppMon met het gebruikend standaardWin32 APIs zou kunnen communiceren.
Als WinID de dialooginhoud zoals tekst, subvensters, vensterklasse ID, etc. kan halen, dan zou AppMon het zelfde ook kunnen doen.
In deze tabel wordt het type informatie weergegeven dat wordt gebruikt bij het afdrukken van eigen bestandsindelingen.
Bevat instellingen voor PDF, beveiliging en bestandstypen.
Instellingen voor bestandstypen koppelen bestandsextensies aan de corresponderende native toepassingen. Instellingen voor bestandstypen geven ook instellingen voor native toepassingen op die worden gebruikt om eigen bestanden af te drukken.
Als u instellingen voor een reeds ondersteunde native toepassing wilt wijzigen, stelt de systeembeheerder de instellingen voor bestandstypen in de beheerconsole in.
Als u ondersteuning voor een nieuwe eigen bestandsindeling wilt toevoegen, moet u het bestand handmatig bewerken. (Zie Ondersteuning voor een eigen bestandsindeling toevoegen of wijzigen.)
Geeft interacties op tussen de service PDF genereren en een native toepassing. Dergelijke interacties leiden de toepassing gewoonlijk om een dossier aan de bestuurder van Adobe PDF te drukken.
Het script bevat instructies die de oorspronkelijke toepassing de opdracht geven specifieke dialoogvensters te openen en die specifieke reacties bieden op velden en knoppen in die dialoogvensters.
De service PDF genereren bevat scriptbestanden voor alle ondersteunde native toepassingen. U kunt deze bestanden wijzigen met een XML-bewerkingstoepassing.
Als u ondersteuning voor een nieuwe native toepassing wilt toevoegen, moet u een nieuw scriptbestand maken. (Zie Een XML-bestand voor een extra dialoogvenster maken of wijzigen voor een native toepassing.)
Hiermee geeft u op hoe moet worden gereageerd op dialoogvensters die in meerdere toepassingen worden gebruikt. Dergelijke dialoogvensters worden gegenereerd door besturingssystemen, helpertoepassingen (zoals PDFMaker) en stuurprogramma's.
Het bestand dat deze informatie bevat, is appmon.global.en_US.xml.
Geeft aan hoe moet worden gereageerd op toepassingsspecifieke dialoogvensters.
Het bestand dat deze informatie bevat, is appmon.[toepassingsnaam].dialog.[landinstelling].xml (bijvoorbeeld appmon.word.en_US.xml).
Wijzig dit bestand niet.
Als u dialoogvensterinstructies voor een nieuwe native toepassing wilt toevoegen, raadpleegt u Een XML-bestand voor een extra dialoogvenster maken of wijzigen voor een native toepassing.
Hiermee geeft u overschrijvingen en toevoegingen aan de instructies in het specifieke dialoogvenster voor de toepassing op. De sectie bevat een voorbeeld van dergelijke informatie.
Het bestand dat deze informatie bevat, is appmon.[toepassingsnaam].optellen.[landinstelling].xml. Een voorbeeld is appmon.adding.nl_NL.xml.
Bestanden van dit type kunnen worden gemaakt en gewijzigd met behulp van een XML-bewerkingstoepassing. (Zie Een XML-bestand voor een extra dialoogvenster maken of wijzigen voor een native toepassing.)
Belangrijk: U moet extra toepassingsspecifieke dialoogvakinstructies voor elke inheemse toepassing creëren uw server zal steunen.
Over het script en het dialoogvenster in XML-bestanden
In XML-scriptbestanden wordt de service PDF genereren gebruikt om door de dialoogvensters van de toepassing te navigeren, net zoals een gebruiker door de dialoogvensters van de toepassing zou navigeren. ScriptXML-bestanden zorgen er ook voor dat de service PDF genereren reageert op dialoogvensters door handelingen uit te voeren zoals het indrukken van knoppen, het selecteren of deselecteren van selectievakjes of het selecteren van menu-items.
Dialoogbestanden in XML-bestanden reageren daarentegen gewoon op dialoogvensters met dezelfde typen handelingen als in XML-scriptbestanden.
Dialoogvenster en terminologie van vensterelementen
Deze sectie en de volgende sectie gebruiken verschillende terminologie voor dialoogvakjes en de componenten die zij, afhankelijk van het perspectief bevatten dat wordt beschreven. De componenten van dialoogvensters zijn punten zoals knopen, gebieden, en combovakjes.
Wanneer deze sectie en de volgende sectie dialoogvensters en hun componenten vanuit het perspectief van een gebruiker beschrijven, bijvoorbeeld dialoogvenster, knop, field, en keuzelijst met invoervak worden gebruikt.
Wanneer deze sectie en de volgende sectie dialoogvensters en hun componenten vanuit het perspectief van hun interne vertegenwoordiging beschrijven, de term window, element wordt gebruikt. De interne representatie van vensterelementen is een hiërarchie, waarbij elke instantie van een vensterelement wordt aangeduid met labels. De instantie van het vensterelement beschrijft ook zijn fysieke kenmerken en gedrag.
Vanuit het perspectief van de gebruiker vertonen de dialoogvensters en hun componenten verschillende gedragingen, waarbij bepaalde elementen van dialoogvensters verborgen zijn totdat ze worden geactiveerd. Vanuit het perspectief van de interne vertegenwoordiging, bestaat zulk een kwestie van gedrag niet. De interne representatie van een dialoogvenster ziet er bijvoorbeeld hetzelfde uit als de componenten die het bevat, met als uitzondering dat de componenten in het dialoogvenster zijn genest.
Deze sectie beschrijft de elementen van XML die AppMon van instructies voorzien. Deze elementen hebben namen zoals dialog
en de window
element. In dit document wordt een font met vaste spatiëring gebruikt om XML-elementen te onderscheiden. De *dialog*
element identificeert een dialoogdoos die een het manuscriptdossier van XML kan veroorzaken om, of opzettelijk of onbedoeld worden getoond. De *window*
element identificeert een vensterelement (dialoogdoos of de componenten van een dialoogdoos).
Hiërarchie
Dit diagram toont de hiërarchie van manuscript en dialoogXML. Een script-XML-bestand voldoet aan het script.xsd-schema, dat (in XML-zin) het window.xsd-schema bevat. Op dezelfde manier voldoet een dialoogXML- dossier aan het dialogs.xsd schema, dat ook het window.xsd schema omvat.
Hiërarchie van script en dialoogvenster XML
Script XML-bestanden
A script-XML-bestand Geeft een reeks stappen aan die de native toepassing de opdracht geven naar bepaalde vensterelementen te navigeren en vervolgens reacties op die elementen te leveren. De meeste reacties zijn tekst of toetsaanslagen die overeenkomen met de invoer die een gebruiker zou invoeren in een veld, keuzelijst met invoervak of knop in het bijbehorende dialoogvenster.
De service PDF genereren biedt ondersteuning voor script-XML-bestanden door een native toepassing de opdracht te geven een native bestand af te drukken. ScriptXML-bestanden kunnen echter worden gebruikt om elke taak uit te voeren die een gebruiker kan uitvoeren bij het werken met de dialoogvensters van de native toepassing.
De stappen in een script-XML-bestand worden in de juiste volgorde uitgevoerd, zonder dat er sprake is van vertakking. De enige voorwaardelijke test die wordt ondersteund, is for time-out/retry. Hiermee wordt een script beëindigd als een stap niet binnen een bepaalde periode en na een bepaald aantal keren is voltooid.
Naast stappen die opeenvolgend zijn, worden de instructies binnen een stap ook uitgevoerd in volgorde. U moet ervoor zorgen dat de stappen en de instructies de orde weerspiegelen waarin een gebruiker die zelfde stappen zou uitvoeren.
Elke stap in een XML-scriptbestand identificeert het vensterelement dat wordt weergegeven als de instructies van de stap correct zijn uitgevoerd. Als een onverwacht dialoogvenster wordt weergegeven tijdens het uitvoeren van een scriptstap, zoekt de dienst PDF genereren de XML-bestanden van het dialoogvenster zoals beschreven in de volgende sectie.
Dialoogvenster XML-bestanden
Wanneer u native toepassingen uitvoert, worden verschillende dialoogvensters weergegeven, ongeacht of de native toepassingen zich in een zichtbare of onzichtbare modus bevinden. De dialoogvensters kunnen worden gegenereerd door het besturingssysteem of door de toepassing zelf. Wanneer native toepassingen worden uitgevoerd onder beheer van de service PDF genereren, worden de dialoogvensters van het systeem en de oorspronkelijke toepassing weergegeven in een onzichtbaar venster.
A dialoogvenster XML-bestand Hiermee geeft u op hoe de service PDF genereren reageert op dialoogvensters van het systeem of de native toepassing. Met de dialoog-XML-bestanden kan de service PDF genereren reageren op dialoogvensters die niet worden weergegeven, zodat het conversieproces wordt vergemakkelijkt.
Wanneer het systeem of de inheemse toepassing een dialoogdoos toont die niet door het momenteel uitvoerende dossier van manuscriptXML wordt behandeld, zoekt de dienst van de PDF van de Generate de dossiers van dialoogXML in deze orde, die stopt wanneer het vindt een gelijke:
- appmon.[appname].additional.[landinstelling].xml
- appmon.[appname].[landinstelling].xml (wijzig dit bestand niet.)
- appmon.global.[landinstelling].xml (wijzig dit bestand niet.)
Als de dienst Generate PDF een gelijke voor de dialoogdoos vindt, het het door het de sleutelslag of andere actie te verzenden die voor de dialoogdoos wordt gespecificeerd. Als in de instructies voor het dialoogvenster een afbreekbericht wordt opgegeven, wordt de taak die momenteel wordt uitgevoerd door de service PDF genereren beëindigd en wordt een foutbericht gegenereerd. Een dergelijk afbreekbericht wordt gespecificeerd in de abortMessage
-element in de XML-grammatica van het script.
Als de dienst Generate PDF een dialoogdoos ontmoet die niet in om het even welke eerder-vermelde dossiers wordt beschreven, neemt de dienst van de PDF van de Generate dienst de titel van de dialoogdoos in de ingang van het logboekdossier op. De taak die momenteel wordt uitgevoerd, wordt uiteindelijk uitgerekt. Vervolgens kunt u de informatie in het logbestand gebruiken om nieuwe instructies samen te stellen in het XML-bestand van het extra dialoogvenster voor de oorspronkelijke toepassing.
Ondersteuning voor een eigen bestandsindeling toevoegen of wijzigen
In deze sectie worden de taken beschreven die u moet uitvoeren om andere native bestandsindelingen te ondersteunen of om ondersteuning voor een reeds ondersteunde native bestandsindeling te wijzigen.
Voordat u ondersteuning kunt toevoegen of wijzigen, moet u de volgende taken uitvoeren.
Een gereedschap kiezen voor het identificeren van vensterelementen
De dialoog en de dossiers van manuscriptXML vereisen u om het vensterelement (dialoogdoos, gebied, of andere component van de dialoog) te identificeren waaraan uw dialoog of manuscriptelement antwoordt. Nadat een script bijvoorbeeld een menu voor een native toepassing heeft aangeroepen, moet het script het vensterelement in dat menu identificeren waarop toetsaanslagen of een handeling moeten worden toegepast.
U kunt een dialoogvenster gemakkelijk herkennen aan het bijschrift dat wordt weergegeven in de titelbalk. U moet echter een gereedschap zoals Microsoft Spy++ gebruiken om vensterelementen op een lager niveau te identificeren. De vensterelementen op een lager niveau kunnen worden geïdentificeerd aan de hand van verschillende kenmerken, die niet voor de hand liggen. Bovendien kan elke native toepassing het vensterelement anders identificeren. Dientengevolge, zijn er veelvoudige manieren om een vensterelement te identificeren. Hier volgt de voorgestelde volgorde voor het overwegen van de identificatie van vensterelementen:
- Bijschrift zelf als dit uniek is
- Besturings-id die al dan niet uniek is voor een bepaald dialoogvenster
- Klassenaam, die al dan niet uniek is
Om het even welke één of een combinatie van deze drie attributen kunnen worden gebruikt om een venster te identificeren.
Als de kenmerken een bijschrift niet identificeren, kunt u in plaats daarvan een vensterelement identificeren door de index ervan ten opzichte van het bovenliggende element te gebruiken. An index geeft de positie van het vensterelement ten opzichte van de elementen van het sibling venster aan. Indexen zijn vaak de enige manier om keuzelijsten met invoervak te identificeren.
Wees op de hoogte van deze problemen:
- Met Microsoft Spy++ worden bijschriften weergegeven met behulp van een en-teken (&) om de hot key van het bijschrift te identificeren. Met Spry++ wordt bijvoorbeeld het bijschrift van één dialoogvenster Afdrukken weergegeven als
Pri&nt
, wat aangeeft dat de hotkey n. Titels van bijschriften in script- en dialoogvenster-XML-bestanden moeten ampersands weglaten. - Sommige bijschriften bevatten regeleinden. Met de service PDF genereren kunnen geen regeleinden worden geïdentificeerd. Als een bijschrift een regeleinde bevat, neemt u genoeg van het bijschrift op om het te onderscheiden van de andere menu-items en gebruikt u vervolgens reguliere expressies voor het weggelaten deel. Een voorbeeld is (
^Long caption title$
). (Zie Reguliere expressies gebruiken in bijschriftkenmerken.) - Gebruik tekeneenheden (ook wel escape-reeksen genoemd) voor gereserveerde XML-tekens. Gebruik bijvoorbeeld
&
voor ampersanden,<
en>
voor minder dan en groter dan symbolen,'
voor apostroffen, en"
voor aanhalingstekens.
Als u aan dialoog of manuscriptdossiers van XML van plan bent te werken, zou u de toepassing Microsoft Spy++ moeten installeren.
Het verpakken van dialoogvenster- en scriptbestanden opheffen
Het dialoogvenster- en scriptbestand bevinden zich in het bestand appmondata.jar. Voordat u een van deze bestanden kunt wijzigen of nieuwe script- of dialoogbestanden kunt toevoegen, moet u het pakket van dit JAR-bestand opheffen. Stel dat u ondersteuning wilt toevoegen voor de toepassing EditPlus. U maakt twee XML-bestanden met de namen appmon.editplus.script.en_US.xml en appmon.editplus.script.adding.nl_NL.xml. Deze XML-scripts moeten op twee locaties aan het bestand adobe-appmondata.jar worden toegevoegd, zoals hieronder wordt aangegeven:
- adobe-livecycle-native-jreliëf-x86_win32.ear > adobe-Native2PDFSvc.war\WEB-INF\lib > adobe-native.jar > Native2PDFSvc-native.jar\bin > adobe-appmondata.jar\com\adobe\appmon. Het bestand adobe-livecycle-native-jreliëf-x86_win32.ear bevindt zich in de exportmap op *[Installatiemap voor formulieren AEM]*configurationManager. (Als AEM Forms wordt geïmplementeerd op een andere J2EE-toepassingsserver, vervangt u het bestand adobe-livecycle-native-jreliëf-x86_win32.ear door het EAR-bestand dat overeenkomt met uw J2EE-toepassingsserver.)
- adobe-generatepdf-dsc.jar > adobe-appmondata.jar\com\adobe\appmon (het bestand adobe-appmondata.jar bevindt zich in het bestand adobe-generatepdf-dsc.jar). Het bestand adobe-generatepdf-dsc.jar bevindt zich in de map [Installatiemap voor formulieren AEM]\implementatiemap.
Nadat u deze XML-bestanden aan het bestand adobe-appmondata.jar hebt toegevoegd, moet u de component GeneratePDF opnieuw gebruiken. Voer de volgende taken uit om XML-bestanden voor dialoog en script toe te voegen aan het bestand adobe-appmondata.jar:
- Open met een hulpprogramma zoals WinZip of WinRAR het bestand adobe-livecycle-native-jreliëf-x86_win32.earfile > adobe-Native2PDFSvc.war\WEB-INF\lib > adobe-native.jar > Native2PDFSvc-native.jar\bin > adobe-appmondata.mondata jar file.
- Voeg het dialoogvenster- en scriptbestand XML toe aan het bestand appmondata.jar of wijzig bestaande XML-bestanden in dit bestand. (Zie Een XML-scriptbestand voor een native toepassing maken of wijzigenen Een XML-bestand voor een extra dialoogvenster maken of wijzigen voor een native toepassing.)
- Open adobe-generatepdf-dsc.jar > adobe-appmondata.jar met een hulpprogramma zoals WinZip of WinRAR.
- Voeg het dialoogvenster- en scriptbestand XML toe aan het bestand appmondata.jar of wijzig bestaande XML-bestanden in dit bestand. (Zie Een XML-scriptbestand voor een native toepassing maken of wijzigenen Een XML-bestand voor een extra dialoogvenster maken of wijzigen voor een native toepassing.) Nadat u de XML-bestanden aan het bestand adobe-appmondata.jar hebt toegevoegd, plaatst u het nieuwe bestand adobe-appmondata.jar in het bestand adobe-generatepdf-dsc.jar.
- Als u ondersteuning hebt toegevoegd voor een extra eigen bestandsindeling, maakt u een systeemomgevingsvariabele die het pad van de toepassing aangeeft (zie Een omgevingsvariabele maken om de oorspronkelijke toepassing te vinden.)
De component GeneratePDF opnieuw implementeren
- Meld u aan bij Workbench.
- Selecteren Venster > Weergaven tonen > Componenten. Met deze actie voegt u de weergave Componenten toe aan Workbench.
- Klik met de rechtermuisknop op de component GeneratePDF en selecteer vervolgens Component stoppen.
- Wanneer de component is gestopt, klikt u met de rechtermuisknop en selecteert u Component verwijderen om deze te verwijderen.
- Klik met de rechtermuisknop op de knop Componenten pictogram en selecteer Component installeren.
- Blader naar het gewijzigde bestand adobe-generatepdf-dsc.jar, selecteer dit bestand en klik op Openen. Naast de component GeneratePDF wordt een rood vierkantje weergegeven.
- Breid de component GeneratePDF uit, selecteer de beschrijvers van de Dienst, en klik dan GeneratePDFService met de rechtermuisknop aan en selecteer de Dienst activeren.
- Voer in het dialoogvenster voor configuratie dat wordt weergegeven de toepasselijke configuratiewaarden in. Als u deze waarden leeg laat, worden standaardconfiguratiewaarden gebruikt.
- Klik met de rechtermuisknop op GeneratePDF en selecteer Component starten.
- Breid Actieve Diensten uit. Er verschijnt een groene pijl naast de servicenaam als deze wordt uitgevoerd. Anders, is de dienst in een tegengehouden staat.
- Als de dienst in een tegengehouden staat is, klik de de dienstnaam met de rechtermuisknop aan en selecteer de Dienst van het Begin.
Een XML-scriptbestand voor een native toepassing maken of wijzigen
Als u bestanden wilt doorsturen naar een nieuwe oorspronkelijke toepassing, moet u een XML-scriptbestand voor die toepassing maken. Als u wilt wijzigen hoe de dienst Generate PDF met een inheemse toepassing in wisselwerking staat die reeds wordt gesteund, moet u het manuscript voor die toepassing wijzigen.
Het script bevat instructies die door de vensterelementen van de native toepassing navigeren en die specifieke reacties op die elementen leveren. Het bestand dat deze informatie bevat, is appmon.[appname].script.[landinstelling].xml. Een voorbeeld is appmon.notepad.script.en_US.xml.
Stappen identificeren die het script moet uitvoeren
Bepaal in de native toepassing door welke vensterelementen u moet navigeren en welke reacties u moet uitvoeren om het document af te drukken. Let op de dialoogvensters die het resultaat zijn van reacties. De stappen zijn vergelijkbaar met de volgende stappen:
- Selecteer Bestand > Openen.
- Geef het pad op en klik op Openen.
- Selecteer Bestand > Afdrukken op de menubalk.
- Geef de vereiste eigenschappen voor de printer op.
- Selecteer Afdrukken en wacht tot het dialoogvenster Opslaan als wordt weergegeven. Het dialoogvenster Opslaan als is vereist voor de service PDF genereren om het doel voor het PDF-bestand op te geven.
Dialoogvensters identificeren die zijn opgegeven in bijschriftkenmerken
Gebruik Microsoft Spy++ om de id's te verkrijgen van de eigenschappen van vensterelementen in de native toepassing. U moet over deze identiteiten beschikken om scripts te schrijven.
Reguliere expressies gebruiken in bijschriftkenmerken
U kunt reguliere expressies gebruiken in bijschriftspecificaties. De dienst Generate PDF gebruikt java.util.regex.Matcher
klasse voor ondersteuning van reguliere expressies. Dit hulpprogramma ondersteunt de reguliere expressies die worden beschreven in java.util.regex.Pattern
.
Reguliere expressie die de bestandsnaam bevat die aan Kladblok is toegevoegd in de banner Kladblok
<!-- The regular expression ".*Notepad" means any number of non-terminating characters followed by Notepad. -->
<step>
<expectedWindow>
<window caption=".*Notepad"/>
</expectedWindow>
</step>
Reguliere expressie die een onderscheid maakt tussen Afdrukken en Afdrukinstellingen
<!-- This regular expression differentiates the Print dialog box from the Print Setup dialog box. The "^" specifies the beginning of the line, and the "$" specifies the end of the line. -->
<windowList>
<window controlID="0x01" caption="^Print$" action="press"/>
</windowList>
De elementen window en windowList ordenen
U moet bestellen window
en windowList
de volgende elementen:
- Wanneer meerdere
window
elementen worden weergegeven als onderliggende elementen in eenwindowList
ofdialog
-element, deze ordenenwindow
elementen in aflopende volgorde, met de lengte van decaption
namen die de positie in de volgorde aangeven. - Wanneer meerdere
windowList
elementen worden weergegeven in eenwindow
-element, deze ordenenwindowList
elementen in aflopende volgorde, met de lengte van decaption
kenmerken van de eersteindexes/
element dat de positie in de volgorde aangeeft.
Vensterelementen in een dialoogvenster ordenen
<!-- The caption attribute in the following window element is 40 characters long. It is the longest caption in this example, so its parent window element appears before the others. -->
<window caption="Unexpected Failure in DebugActiveProcess">
<…>
</window>
<!-- Caption length is 33 characters. -->
<window caption="Adobe Acrobat - License Agreement">
<…>
</window>
<!-- Caption length is 33 characters. -->
<window caption="Microsoft Visual.*Runtime Library">
<…>
</window>
<!-- The caption attribute in the following window element is 28 characters long. It is the shortest caption in this example, so its parent window element appears after the others. -->
<window caption="Adobe Acrobat - Registration">
<…>
</window>
Vensterelementen binnen een windowList-element ordenen
<!-- The caption attribute in the following indexes element is 56 characters long. It is the longest caption in this example, so its parent window element appears before the others. -->
<windowList>
<window caption="Can't exit design mode because.* cannot be created"/>
<window className="Button" caption="OK" action="press"/>
</windowList>
<windowList>
<window caption="Do you want to continue loading the project?"/>
<window className="Button" caption="No" action="press"/>
</windowList>
<windowList>
<window caption="The macros in this project are disabled"/>
<window className="Button" caption="OK" action="press"/>
</windowList>
Een XML-bestand voor een extra dialoogvenster maken of wijzigen voor een native toepassing
Als u een script maakt voor een native toepassing die voorheen niet werd ondersteund, moet u ook een extra XML-bestand voor het dialoogvenster voor die toepassing maken. Elke native toepassing die door AppMon wordt gebruikt, mag slechts één extra XML-bestand voor het dialoogvenster hebben. Het XML-bestand van het extra dialoogvenster is vereist, zelfs als er geen ongewenste dialoogvensters worden verwacht. Het extra dialoogvenster moet ten minste één dialoogvenster bevatten window
-element, zelfs als dat window
element is slechts een plaatsaanduiding.
U kunt ook het XML-bestand met aanvullende dialoogvensters wijzigen voor een native toepassing voor de volgende doeleinden:
- Het XML-bestand van het dialoogvenster negeren voor een toepassing met een andere reactie
- Een antwoord toevoegen aan een dialoogvenster dat niet wordt geactiveerd in het XML-bestand van het dialoogvenster voor die toepassing
De bestandsnaam die een extra dialogXML-bestand aangeeft, wordt toegepast.[appname].optellen.[landinstelling].xml. Een voorbeeld is appmon.excel.extension.nl_NL.xml.
Voor de naam van het XML-bestand van het extra dialoogvenster moet de juiste indeling worden gebruikt.[toepassingsnaam].optellen.[landinstelling].xml, waarbij toepassingsnaam moet exact overeenkomen met de toepassingsnaam die wordt gebruikt in het XML-configuratiebestand en in het script.
U moet bestellen windowList
elementen die als onderliggende elementen in een window
element. (Zie De elementen window en windowList ordenen.)
Het algemene dialoogvenster-XML-bestand wijzigen
U kunt het algemene dialoogvenster-XML-bestand aanpassen om te reageren op dialoogvensters die door het systeem worden gegenereerd of om te reageren op dialoogvensters die door meerdere toepassingen worden gebruikt.
Een filetype-item toevoegen in het XML-configuratiebestand
Deze procedure verklaart hoe te om het Generate de dienstconfiguratiedossier van PDF bij te werken om dossiertypes met inheemse toepassingen te associëren. Om dit configuratiedossier bij te werken, moet u beleidsconsole gebruiken om de configuratiegegevens naar een dossier uit te voeren. De standaardbestandsnaam voor de configuratiegegevens is native2pdfconfig.xml.
Het genereren van het configuratiebestand voor de PDF-service bijwerken
- Selecteren Home > Services > Adobe PDF Generator > Configuratiebestanden en selecteer vervolgens Configuratie exporteren.
- De
filetype-settings
element in het native2pdfconfig.xml- dossier, zoals nodig. - Selecteren Home > Services > Adobe PDF Generator >Configuratiebestanden en selecteer vervolgens Configuratie importeren. De configuratiegegevens worden geïmporteerd in de service PDF genereren, waarbij vorige instellingen worden vervangen.
GenericApp
element name
kenmerk. Deze waarde moet exact overeenkomen met de corresponderende naam die is opgegeven in het script dat u voor die toepassing ontwikkelt. Evenzo geldt dat de GenericApp
element displayName
kenmerk moet exact overeenkomen met het corresponderende script expectedWindow
vensterbijschrift. Deze gelijkwaardigheid wordt geëvalueerd nadat eventuele reguliere expressies in het dialoogvenster displayName
of caption
kenmerken.In dit voorbeeld, werden de standaardconfiguratiegegevens die met de Generate dienst van PDF worden verstrekt gewijzigd om te specificeren dat de Blocnote (niet Microsoft Word) zou moeten worden gebruikt om dossiers met de dossier te verwerken - noem uitbreiding .txt. Vóór deze wijziging is Microsoft Word opgegeven als de oorspronkelijke toepassing die dergelijke bestanden moet verwerken.
Wijzigingen voor het sturen van tekstbestanden naar Kladblok (native2pdfconfig.xml)
<filetype-settings>
<!-- Some native app file types were omitted for brevity. -->
<!-- The following GenericApp element specifies Notepad as the native application that should be used to process files that have a txt file name extension. -->
<GenericApp
extensions="txt"
name="Notepad" displayName=".*Notepad"/>
<GenericApp
extensions="wpd"
name="WordPerfect" displayName="Corel WordPerfect"/>
<GenericApp extensions="pmd,pm6,p65,pm"
name="PageMaker" displayName="Adobe PageMaker"/>
<GenericApp extensions="fm"
name="FrameMaker" displayName="Adobe FrameMaker"/>
<GenericApp extensions="psd"
name="Photoshop" displayName="Adobe Photoshop"/>
</settings>
</filetype-settings>
Een omgevingsvariabele maken om de oorspronkelijke toepassing te vinden
Maak een omgevingsvariabele die de locatie opgeeft van het uitvoerbare bestand van de native toepassing. De variabele moet de notatie gebruiken [toepassingsnaam]_PAD, waarbij toepassingsnaam moet exact overeenkomen met de toepassingsnaam die wordt gebruikt in het XML-configuratiebestand en in het script, en waarbij het pad het pad naar het uitvoerbare bestand bevat met dubbele aanhalingstekens. Een voorbeeld van een dergelijke omgevingsvariabele is Photoshop_PATH
.
Nadat u de nieuwe omgevingsvariabele hebt gemaakt, moet u de server opnieuw opstarten waarop de service PDF genereren is geïmplementeerd.
Een systeemvariabele maken in de Windows XP-omgeving
- Selecteren Configuratiescherm > Systeem.
- Klik in het dialoogvenster Systeemeigenschappen op de knop Geavanceerd en klik vervolgens op Omgevingsvariabelen.
- Klik onder Systeemvariabelen in het dialoogvenster Omgevingsvariabelen op Nieuw.
- In het dialoogvenster Nieuwe systeemvariabele in het dialoogvenster Naam variabele vak, typt u een naam die de indeling gebruikt [toepassingsnaam]_PAD.
- In de Waarde variabele typt u het volledige pad en de bestandsnaam van het uitvoerbare bestand van de toepassing en klikt u vervolgens op OK. Typ bijvoorbeeld:
c:\windows\Notepad.exe
- Klik in het dialoogvenster Omgevingsvariabelen op OK.
Een systeemvariabele maken via de opdrachtregel
-
Typ in een opdrachtregelvenster de definitie van de variabele met deze notatie:
[applicationname]_PATH=[Full path name]
Typ bijvoorbeeld:
NotePad_PATH=C:\WINDOWS\NOTEPAD.EXE
-
Begin een nieuwe herinnering van de bevellijn voor de systeemvariabele om van kracht te worden.
XML-bestanden
AEM Forms bevat voorbeeld-XML-bestanden die ervoor zorgen dat de service PDF genereren de Kladblok gebruikt om bestanden met de extensie .txt te verwerken. Deze code is opgenomen in deze sectie. Daarnaast moet u de andere wijzigingen aanbrengen die in deze sectie worden beschreven.
XML-bestand van extra dialoogvenster
Dit voorbeeld bevat de extra dialoogdozen voor de toepassing van de Blocnote. Deze dialoogdozen kunnen naast degenen zijn die door de Generate dienst van de PDF worden gespecificeerd.
Kladblok dialoogvensters (appmon.notepad.adding.nl_NL.xml)
<dialogs app="Notepad" locale="en_US" version="7.0" xmlns:xsi="https://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="dialogs.xsd">
<window caption="Caption Title">
<windowList>
<window className="Button" caption="OK" action="press"/>
</windowList>
</window>
</dialogs>
Script XML-bestand
In dit voorbeeld wordt aangegeven hoe de service PDF genereren moet werken met Kladblok om bestanden af te drukken met de Adobe PDF-printer.
XML-bestand met toetsenblok (appmon.notepad.script.nl_NL.xml)
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<!--
*
* ADOBE CONFIDENTIAL
* ___________________
* Copyright 2004 - 2005 Adobe Systems Incorporated
* All Rights Reserved.
*
* NOTICE: All information contained herein is, and remains
* the property of Adobe Systems Incorporated and its suppliers,
* if any. The intellectual and technical concepts contained
* herein are proprietary to Adobe Systems Incorporated and its
* suppliers and may be covered by U.S. and Foreign Patents,
* patents in process, and are protected by trade secret or copyright law.
* Dissemination of this information or reproduction of this material
* is strictly forbidden unless prior written permission is obtained
* from Adobe Systems Incorporated.
*-->
<!-- This file automates printing of text files via notepad to Adobe PDF printer. In order to see the complete hierarchy we recommend using the Microsoft Spy++ which details the properties of windows necessary to write scripts. In this sample there are total of eight steps-->
<application name="Notepad" version="9.0" locale="en_US" xmlns:xsi="https://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="scripts.xsd">
<!-- In this step we wait for the application window to appear -->
<step>
<expectedWindow>
<window caption=".*Notepad"/>
</expectedWindow>
</step>
<!-- In this step, we acquire the application window and send File->Open menu bar, menu item commands and the expectation is the windows Open dialog-->
<step>
<acquiredWindow>
<window caption=".*Notepad">
<virtualInput>
<menuBar>
<selection>
<name>File</name>
</selection>
<selection>
<name>Open...</name>
</selection>
</menuBar>
</virtualInput>
</window>
</acquiredWindow>
<expectedWindow>
<window caption="Open"/>
</expectedWindow>
</step>
<!-- In this step, we acquire the Open window and then select the 'Edit' widget and input the source path followed by clicking on the 'Open' button . The expectation of this 'action' is that the Open dialog will disappear -->
<step>
<acquiredWindow>
<window caption="Open">
<windowList>
<window className="ComboBoxEx32">
<windowList>
<window className="ComboBox">
<windowList>
<window className="Edit" action="inputSourcePath"/>
</windowList>
</window>
</windowList>
</window>
</windowList>
<windowList>
<window className="Button" caption="Open" action="press"/>
</windowList>
</window>
</acquiredWindow>
<expectedWindow>
<window caption="Open" action="disappear"/>
</expectedWindow>
<pause value="30"/>
</step>
<!-- In this step, we acquire the application window and send File->Print menu bar, menu item commands and the expectation is the windows Print dialog-->
<step>
<acquiredWindow>
<window caption=".*Notepad">
<virtualInput>
<menuBar>
<selection>
<name>File</name>
</selection>
<selection>
<name>Print...</name>
</selection>
</menuBar>
</virtualInput>
</window>
</acquiredWindow>
<expectedWindow>
<window caption="Print">
</window>
</expectedWindow>
</step>
<!-- In this step, we acquire the Print dialog and click on the 'Preferences' button and the expected window in this case is the dialog with the caption '"Printing Preferences' -->
<step>
<acquiredWindow>
<window caption="Print">
<windowList>
<window caption="General">
<windowList>
<window className="Button" caption="Preferences" action="press"/>
</windowList>
</window>
</windowList>
</window>
</acquiredWindow>
<expectedWindow>
<window caption="Printing Preferences"/>
</expectedWindow>
</step>
<!-- In this step, we acquire the dialog "Printing Preferences' and select the combo box which is the 10th child of window with caption '"Adobe PDF Settings' and select the first index. (Note: All indeces start with 0.) Besides this we uncheck the box which has the caption '"View Adobe PDF results' and we click on the button OK. The expectation is that 'Printing Preferences' dialog disappears. -->
<step>
<acquiredWindow>
<window caption="Printing Preferences">
<windowList>
<window caption="Adobe PDF Settings">
<windowList>
<window className="Button" caption="View Adobe PDF results" action="uncheck"/>
</windowList>
<windowList>
<window className="Button" caption="Ask to Replace existing PDF file" action="uncheck"/>
</windowList>
</window>
</windowList>
<windowList>
<window className="Button" caption="OK" action="press"/>
</windowList>
</window>
</acquiredWindow>
<expectedWindow>
<window caption="Printing Preferences" action="disappear"/>
</expectedWindow>
</step>
<!-- In this step, we acquire the 'Print' dialog and click on the Print button. The expectation is that the dialog with caption 'Print' disappears. In this case we use the regular expression '^Print$' for specifying the caption given there could be multiple dialogs with caption that includes the word Print. -->
<step>
<acquiredWindow>
<window caption="Print">
<windowList>
<window caption="General"/>
<window className="Button" caption="^Print$" action="press"/>
</windowList>
</window>
</acquiredWindow>
<expectedWindow>
<window caption="Print" action="disappear"/>
</expectedWindow>
</step>
<step>
<expectedWindow>
<window caption="Save PDF File As"/>
</expectedWindow>
</step>
<!-- Finally in this step, we acquire the dialog with caption "Save PDF File As" and in the Edit widget type the destination path for the output PDF file and click on the Save button. The expectation is that the dialog disappears-->
<step>
<acquiredWindow>
<window caption="Save PDF File As">
<windowList>
<window className="Edit" action="inputDestinationPath"/>
</windowList>
<windowList>
<window className="Button" caption="Save" action="press"/>
</windowList>
</window>
</acquiredWindow>
<expectedWindow>
<window caption="Save PDF File As" action="disappear"/>
</expectedWindow>
</step>
<!-- We can always set a retry count or a maximum time for a step. In case we surpass these limitations, PDF Generator generates this abort message and terminates processing. -->
<abortMessage msg="15078"/>
</application>