Show Menu
화제×

파일 포맷과 PDF 간 변환

PDF 서비스 생성 정보
PDF 생성 서비스는 기본 파일 형식을 PDF로 변환합니다. 또한 PDF를 다른 파일 포맷으로 변환하고 PDF 문서의 크기를 최적화합니다.
PDF 생성 서비스는 기본 애플리케이션을 사용하여 다음 파일 포맷을 PDF로 변환합니다. 별도로 명시되어 있지 않는 한 이러한 애플리케이션의 독일어, 프랑스어, 영어 및 일본어 버전만 지원됩니다. Windows만 Windows Server® 2003 및 Windows Server 2008에 대한 지원만 나타냅니다.
  • DOC, DOCX, RTF, TXT, XLS, XLSX, PPT, PPTX, VSD, MPP, MPPX, XPS, PUB(Windows 전용) 변환
Microsoft XPS 형식을 PDF로 변환하려면 Acrobat® 9.2 이상이 필요합니다.
  • DWF, DWG 및 DXW를 변환할 수 있는 Autodesk AutoCAD 2005, 2006, 2007, 2008 및 2009(영어로만 제공)
  • Corel WordPerfect 12 및 X4 - WPD, QPW, SHW 변환(영어로만 제공)
  • OpenOffice 2.0, 2.4, 3.0.1 및 3.1을 변환하여 ODT, ODS, ODP, ODG, ODF, SXW, SXI, SXC, SXD, DOC, DOCX, RTF, TXT, XLS, PSX pt, PPTX, VSD, MPP, MPPX 및 PUB
PDF 생성 서비스는 64비트 버전의 OpenOffice를 지원하지 않습니다.
  • PSD로 변환할 Adobe Photoshop® CS2(Windows 전용)
Photoshop CS3 및 CS4는 Windows Server 2003 또는 Windows Server 2008을 지원하지 않으므로 지원되지 않습니다.
  • FM 변환 Adobe FrameMaker® 7.2 및 8(Windows 전용)
  • PMD, PM6, P65 및 PM을 변환할 수 있는 Adobe PageMaker® 7.0(Windows 전용)
  • 타사 응용 프로그램에서 지원하는 기본 형식(응용 프로그램별 설정 파일 개발 필요)(Windows만 해당)
PDF 생성 서비스는 다음과 같은 표준 기반 파일 포맷을 PDF로 변환합니다.
  • 비디오 포맷:SWF, FLV(Windows 전용)
  • 이미지 형식:JPEG, JPG, JP2, J2Kí, JPC, J2C, GIF, BMP, TIFF, TIF, PNG, JPF
  • HTML(Windows, Sun™ Solaris™ 및 Linux®)
PDF 생성 서비스는 PDF를 다음 파일 형식으로 변환합니다(Windows만 해당).
  • EPS(Encapsulated PostScript)
  • HTML3.2
  • CSS 1.0이 있는 HTML 4.01
  • DOC(Microsoft Word 형식)
  • RTF
  • 텍스트(액세스 가능 및 일반)
  • XML
  • DeviceRGB 색상 공간만 사용하는 PDF/A-1a
  • DeviceRGB 색상 공간만 사용하는 PDF/A-1b
PDF 생성 서비스를 사용하려면 다음 관리 작업을 수행해야 합니다.
  • AEM Forms을 호스팅하는 컴퓨터에 필요한 기본 응용 프로그램 설치
  • AEM Forms을 호스팅하는 컴퓨터에 Adobe Acrobat Professional 또는 Acrobat Pro Extended 9.2 설치
  • 설치 후 설정 작업 수행
이러한 작업은 JBoss 턴키를 사용하여 AEM 양식 설치 및 배포에 설명되어 있습니다.
PDF 생성 서비스를 사용하여 이러한 작업을 수행할 수 있습니다.
  • 기본 파일 포맷을 PDF로 변환
  • HTML 문서를 PDF 문서로 변환
  • PDF 문서를 파일 포맷으로 변환
PDF 생성 서비스에 대한 자세한 내용은 AEM Forms 에 대한 서비스 참조를 참조하십시오 .

Word 문서를 PDF 문서로 변환

이 섹션에서는 PDF 생성 API를 사용하여 프로그래밍 방식으로 Microsoft Word 문서를 PDF 문서로 변환하는 방법에 대해 설명합니다.
추가 파일 포맷에 대한 자세한 내용은 추가 기본 파일 포맷에 대한 지원 추가를 참조하십시오 .
PDF 생성 서비스에 대한 자세한 내용은 AEM Forms 에 대한 서비스 참조를 참조하십시오 .

단계 요약

Microsoft Word 문서를 PDF 문서로 변환하려면 다음 작업을 수행하십시오.
  1. 프로젝트 파일 포함
  2. PDF 클라이언트 생성
  3. PDF 문서로 변환할 파일을 검색합니다.
  4. 파일을 PDF 문서로 변환
  5. 결과 검색
프로젝트 파일 포함
개발 프로젝트에 필요한 파일을 포함할 수 있습니다. Java를 사용하여 클라이언트 응용 프로그램을 만드는 경우 필요한 JAR 파일을 포함합니다. 웹 서비스를 사용하는 경우 프록시 파일을 포함해야 합니다.
PDF 클라이언트 생성
프로그래밍 방식으로 PDF 생성 작업을 수행하려면 먼저 PDF 생성 서비스 클라이언트를 만듭니다. Java API를 사용하는 경우 GeneratePdfServiceClient 개체를 만듭니다. 웹 서비스 API를 사용하는 경우 GeneratePDFServiceService 개체를 만듭니다.
PDF 문서로 변환할 파일 검색
Microsoft Word 문서를 검색하여 PDF 문서로 변환할 수 있습니다.
파일을 PDF 문서로 변환
PDF 서비스 클라이언트를 생성한 후 이 방법을 호출할 수 createPDF2 있습니다. 이 방법에는 파일 확장자를 포함하여 변환할 문서에 대한 정보가 필요합니다.
결과 검색
파일을 PDF 문서로 변환한 후 결과를 가져올 수 있습니다. 예를 들어 Word 파일을 PDF 문서로 변환한 후 PDF 문서를 검색하고 저장할 수 있습니다.
참고 항목

Java API를 사용하여 Word 문서를 PDF 문서로 변환

PDF API 생성(Java)을 사용하여 Microsoft Word 문서를 PDF 문서로 변환:
  1. 프로젝트 파일 포함
    Java 프로젝트의 클래스 경로에 adobe-generatepdf-client.jar와 같은 클라이언트 JAR 파일을 포함합니다.
  2. PDF 클라이언트 생성
    • 연결 속성을 포함하는 ServiceClientFactory 개체를 만듭니다.
    • 생성자를 사용하여 개체를 GeneratePdfServiceClient 만들고 개체를 ServiceClientFactory 전달합니다.
  3. PDF 문서로 변환할 파일을 검색합니다.
    • 생성자를 사용하여 변환할 Word 파일을 나타내는 java.io.FileInputStream 개체를 만듭니다. 파일 위치를 지정하는 문자열 값을 전달합니다.
    • 생성자를 사용하여 개체를 com.adobe.idp.Document 만들고 개체를 java.io.FileInputStream 전달합니다.
  4. 파일을 PDF 문서로 변환
    개체의 메서드를 호출하고 다음 값을 전달하여 파일을 PDF 문서로 GeneratePdfServiceClient createPDF2 변환합니다.
    • 변환할 파일을 나타내는 com.adobe.idp.Document 개체입니다.
    • 파일 확장자를 포함하는 java.lang.String 개체입니다.
    • 변환에 사용할 파일 형식 설정이 들어 있는 java.lang.String 개체입니다. 파일 유형 설정은 .doc 또는 .xls와 같은 다양한 파일 유형에 대한 변환 설정을 제공합니다.
    • 사용할 PDF 설정의 이름을 포함하는 java.lang.String 개체 For example, you can specify Standard .
    • 사용할 보안 설정 이름이 포함된 java.lang.String 개체
    • PDF 문서를 생성하는 동안 적용할 설정이 포함된 선택적 com.adobe.idp.Document 오브젝트입니다.
    • PDF 문서에 적용할 메타데이터 정보가 포함된 선택적 com.adobe.idp.Document 개체입니다.
    createPDF2 메서드는 새 PDF 문서와 로그 정보가 포함된 CreatePDFResult 개체를 반환합니다. 로그 파일에는 일반적으로 전환 요청으로 생성된 오류 또는 경고 메시지가 포함됩니다.
  5. 결과 검색
    PDF 문서를 얻으려면 다음 작업을 수행하십시오.
    • 개체를 반환하는 CreatePDFResult 개체의 getCreatedDocument 메서드를 com.adobe.idp.Document 호출합니다.
    • 이전 단계에서 만든 개체에서 PDF 문서를 추출하려면 com.adobe.idp.Document 개체의 copyToFile 방법을 불러옵니다.
    로그 문서를 얻기 위해 createPDF2 메서드를 사용한 경우(HTML 변환에는 해당되지 않음) 다음 작업을 수행합니다.
    • 개체의 CreatePDFResult 메서드를 getLogDocument 호출합니다. 그러면 com.adobe.idp.Document 개체가 반환됩니다.
    • 로그 com.adobe.idp.Document 문서를 추출하려면 개체의 copyToFile 메서드를 호출합니다.
참고 항목

웹 서비스 API를 사용하여 Word 문서를 PDF 문서로 변환

PDF API(웹 서비스)를 사용하여 Microsoft Word 문서를 PDF 문서로 변환:
  1. 프로젝트 파일 포함
    MTOM을 사용하는 Microsoft .NET 프로젝트를 만듭니다. 다음 WSDL 정의를 사용해야 합니다. http://localhost:8080/soap/services/GeneratePDFService?WSDL&lc_version=9.0.1 .
    AEM Forms localhost 를 호스팅하는 서버의 IP 주소로 대체합니다.
  2. PDF 클라이언트 생성
    • 기본 생성자를 사용하여 GeneratePDFServiceClient 개체를 만듭니다.
    • 생성자를 사용하여 GeneratePDFServiceClient.Endpoint.Address 개체를 System.ServiceModel.EndpointAddress 만듭니다. WSDL을 지정하는 문자열 값을 AEM Forms 서비스에 전달합니다(예: http://localhost:8080/soap/services/GeneratePDFService?blob=mtom .) 속성을 사용할 필요는 lc_version 없습니다. 하지만 지정합니다 ?blob=mtom .
    • 필드의 값을 System.ServiceModel.BasicHttpBinding 가져와 개체를 GeneratePDFServiceClient.Endpoint.Binding 만듭니다. 반환 값을 다음으로 캐스팅합니다 BasicHttpBinding .
    • 개체 System.ServiceModel.BasicHttpBinding 필드를 (으)로 MessageEncoding 설정합니다 WSMessageEncoding.Mtom . 이 값을 사용하면 MTOM이 사용됩니다.
    • 다음 작업을 수행하여 기본 HTTP 인증을 활성화합니다.
      • 필드에 AEM 양식 사용자 이름을 지정합니다 GeneratePDFServiceClient.ClientCredentials.UserName.UserName .
      • 해당 암호 값을 필드에 지정합니다 GeneratePDFServiceClient.ClientCredentials.UserName.Password .
      • 필드에 상수 값 HttpClientCredentialType.Basic 을 지정합니다 BasicHttpBindingSecurity.Transport.ClientCredentialType .
      • 필드에 상수 값 BasicHttpSecurityMode.TransportCredentialOnly 을 지정합니다 BasicHttpBindingSecurity.Security.Mode .
  3. PDF 문서로 변환할 파일을 검색합니다.
    • 생성자를 사용하여 BLOB 개체를 만듭니다. 이 BLOB 개체는 PDF 문서로 변환할 파일을 저장하는 데 사용됩니다.
    • 생성자를 호출하여 System.IO.FileStream 개체를 만듭니다. 변환할 파일의 파일 위치와 파일을 열 모드를 나타내는 문자열 값을 전달합니다.
    • 개체의 내용을 저장하는 바이트 배열을 System.IO.FileStream 만듭니다. 개체의 속성을 가져와 바이트 배열의 크기를 결정할 수 System.IO.FileStream Length 있습니다.
    • 개체의 메서드를 호출하고 바이트 배열, 시작 위치 및 읽을 스트림 길이를 전달하여 바이트 배열 System.IO.FileStream Read 을 스트림 데이터로 채웁니다.
    • 바이트 배열의 내용을 해당 BLOB 속성에 할당하여 MTOM 개체를 채웁니다.
  4. 파일을 PDF 문서로 변환
    개체의 메서드를 호출하고 다음 값을 전달하여 파일을 PDF 문서로 GeneratePDFServiceService CreatePDF2 변환합니다.
    • 변환할 파일을 나타내는 BLOB 개체입니다.
    • 파일 확장자를 포함하는 문자열.
    • 변환에 사용할 파일 형식 설정이 들어 있는 java.lang.String 개체입니다. 파일 유형 설정은 .doc 또는 .xls와 같은 다양한 파일 유형에 대한 변환 설정을 제공합니다.
    • 사용할 PDF 설정을 포함하는 문자열 오브젝트입니다. 지정할 수 있습니다 Standard .
    • 사용할 보안 설정을 포함하는 문자열 개체입니다. 지정할 수 있습니다 No Security .
    • PDF 문서를 생성하는 동안 적용할 설정이 포함된 선택적 BLOB 오브젝트입니다.
    • PDF 문서에 적용할 메타데이터 정보가 포함된 선택적 BLOB 개체입니다.
    • 메서드로 채워지는 형식 BLOB 의 출력 CreatePDF2 매개 변수입니다. 이 CreatePDF2 개체는 변환된 문서로 채워집니다. 이 매개 변수 값은 웹 서비스 호출에만 필요합니다.
    • 메서드로 채워지는 형식 BLOB 의 출력 CreatePDF2 매개 변수입니다. 이 CreatePDF2 개체는 로그 문서로 채워집니다. 이 매개 변수 값은 웹 서비스 호출에만 필요합니다.
  5. 결과 검색
    • 개체 필드를 바이트 배열에 할당하여 변환된 PDF 문서 BLOB MTOM 검색합니다. 바이트 배열은 변환된 PDF 문서를 나타냅니다. 메서드에 대한 출력 매개 변수로 사용되는 BLOB 객체를 사용해야 createPDF2 합니다.
    • 생성자를 호출하고 변환된 PDF 문서의 파일 위치를 나타내는 문자열 값을 전달하여 System.IO.FileStream 개체를 만듭니다.
    • 생성자를 호출하고 개체를 전달하여 System.IO.BinaryWriter 개체를 System.IO.FileStream 만듭니다.
    • 개체의 메서드를 호출하고 바이트 배열을 전달하여 바이트 배열의 내용을 PDF 파일 System.IO.BinaryWriter Write 에 씁니다.
참고 항목

HTML 문서를 PDF 문서로 변환

이 섹션에서는 PDF API 생성을 사용하여 HTML 문서를 PDF 문서로 프로그래밍 방식으로 변환하는 방법에 대해 설명합니다.
PDF 생성 서비스에 대한 자세한 내용은 AEM Forms 에 대한 서비스 참조를 참조하십시오 .

단계 요약

HTML 문서를 PDF 문서로 변환하려면 다음 작업을 수행하십시오.
  1. 프로젝트 파일 포함
  2. PDF 클라이언트 생성
  3. HTML 내용을 검색하여 PDF 문서로 변환
  4. HTML 내용을 PDF 문서로 변환
  5. 결과 검색
프로젝트 파일 포함
개발 프로젝트에 필요한 파일을 포함할 수 있습니다. Java를 사용하여 클라이언트 응용 프로그램을 만드는 경우 필요한 JAR 파일을 포함합니다. 웹 서비스를 사용하는 경우 프록시 파일을 포함해야 합니다.
PDF 클라이언트 생성
프로그래밍 방식으로 PDF 생성 작업을 수행하려면 먼저 PDF 생성 서비스 클라이언트를 만들어야 합니다. Java API를 사용하는 경우 GeneratePdfServiceClient 개체를 만듭니다. 웹 서비스 API를 사용하는 경우 API를 만듭니다 GeneratePDFServiceService .
HTML 내용을 검색하여 PDF 문서로 변환
PDF 문서로 변환할 HTML 컨텐츠를 참조합니다. URL을 사용하여 액세스할 수 있는 HTML 파일 또는 HTML 컨텐츠와 같은 HTML 컨텐츠를 참조할 수 있습니다.
HTML 컨텐츠를 PDF 문서로 변환
서비스 클라이언트를 만든 후 적절한 PDF 작성 작업을 호출할 수 있습니다. 이 작업을 수행하려면 대상 문서의 경로를 비롯하여 변환할 문서에 대한 정보가 필요합니다.
결과 검색
HTML 내용이 PDF 문서로 변환되면 결과를 검색하여 PDF 문서를 저장할 수 있습니다.
참고 항목

Java API를 사용하여 HTML 내용을 PDF 문서로 변환

PDF API 생성(Java)을 사용하여 HTML 문서를 PDF 문서로 변환:
  1. 프로젝트 파일 포함
    Java 프로젝트의 클래스 경로에 adobe-generatepdf-client.jar와 같은 클라이언트 JAR 파일을 포함합니다.
  2. PDF 클라이언트 생성
    생성자를 사용하여 GeneratePdfServiceClient 객체를 만들고 연결 속성이 포함된 ServiceClientFactory 객체를 전달합니다.
  3. HTML 내용을 검색하여 PDF 문서로 변환
    문자열 변수를 만들고 HTML 컨텐츠를 가리키는 URL을 지정하여 HTML 컨텐츠를 검색합니다.
  4. HTML 내용을 PDF 문서로 변환
    개체의 GeneratePdfServiceClient 메서드를 htmlToPDF2 호출하고 다음 값을 전달합니다.
    • 변환할 HTML 파일의 URL을 포함하는 java.lang.String 개체입니다.
    • 변환에 사용할 파일 형식 설정이 들어 있는 java.lang.String 개체입니다. 파일 유형 설정에는 할당 수준이 포함될 수 있습니다.
    • 사용할 보안 설정 이름이 포함된 java.lang.String 개체
    • PDF 문서를 생성하는 동안 적용할 설정이 포함된 선택적 com.adobe.idp.Document 오브젝트입니다. 이 정보가 제공되지 않으면 설정은 이전 세 개의 매개 변수를 기반으로 자동으로 선택됩니다.
    • PDF 문서에 적용할 메타데이터 정보가 포함된 선택적 com.adobe.idp.Document 개체입니다.
  5. 결과 검색
    htmlToPDF2 메서드는 생성된 새 PDF 문서가 들어 있는 HtmlToPdfResult 개체를 반환합니다. 새로 만든 PDF 문서를 얻으려면 다음 작업을 수행하십시오.
    • 개체의 HtmlToPdfResult 메서드를 getCreatedDocument 호출합니다. 그러면 com.adobe.idp.Document 개체가 반환됩니다.
    • 이전 단계에서 만든 개체에서 PDF 문서를 추출하려면 com.adobe.idp.Document 개체의 copyToFile 방법을 불러옵니다.
참고 항목

웹 서비스 API를 사용하여 HTML 내용을 PDF 문서로 변환

PDF API 생성(웹 서비스)을 사용하여 HTML 컨텐츠를 PDF 문서로 변환:
  1. 프로젝트 파일 포함
    MTOM을 사용하는 Microsoft .NET 프로젝트를 만듭니다. 다음 WSDL 정의를 사용해야 합니다. http://localhost:8080/soap/services/GeneratePDFService?WSDL&lc_version=9.0.1 .
    AEM Forms localhost 를 호스팅하는 서버의 IP 주소로 대체합니다.
  2. PDF 클라이언트 생성
    • 기본 생성자를 사용하여 GeneratePDFServiceClient 개체를 만듭니다.
    • 생성자를 사용하여 GeneratePDFServiceClient.Endpoint.Address 개체를 System.ServiceModel.EndpointAddress 만듭니다. WSDL을 지정하는 문자열 값을 AEM Forms 서비스에 전달합니다(예: http://localhost:8080/soap/services/GeneratePDFService?blob=mtom .) 속성을 사용할 필요는 lc_version 없습니다. 하지만 지정합니다 ?blob=mtom .
    • 필드의 값을 System.ServiceModel.BasicHttpBinding 가져와 개체를 GeneratePDFServiceClient.Endpoint.Binding 만듭니다. 반환 값을 다음으로 캐스팅합니다 BasicHttpBinding .
    • 개체 System.ServiceModel.BasicHttpBinding 필드를 (으)로 MessageEncoding 설정합니다 WSMessageEncoding.Mtom . 이 값을 사용하면 MTOM이 사용됩니다.
    • 다음 작업을 수행하여 기본 HTTP 인증을 활성화합니다.
      • 필드에 AEM 양식 사용자 이름을 지정합니다 GeneratePDFServiceClient.ClientCredentials.UserName.UserName .
      • 해당 암호 값을 필드에 지정합니다 GeneratePDFServiceClient.ClientCredentials.UserName.Password .
      • 필드에 상수 값 HttpClientCredentialType.Basic 을 지정합니다 BasicHttpBindingSecurity.Transport.ClientCredentialType .
      • 필드에 상수 값 BasicHttpSecurityMode.TransportCredentialOnly 을 지정합니다 BasicHttpBindingSecurity.Security.Mode .
  3. HTML 내용을 검색하여 PDF 문서로 변환
    문자열 변수를 만들고 HTML 컨텐츠를 가리키는 URL을 지정하여 HTML 컨텐츠를 검색합니다.
  4. HTML 내용을 PDF 문서로 변환
    개체의 메서드를 호출하고 다음 값을 전달하여 HTML GeneratePDFServiceService 내용을 PDF 문서로 HtmlToPDF2 변환합니다.
    • 변환할 HTML 내용이 포함된 문자열.
    • 변환에 사용할 파일 형식 설정이 들어 있는 java.lang.String 개체입니다.
    • 사용할 보안 설정을 포함하는 문자열 개체입니다.
    • PDF 문서를 생성하는 동안 적용할 설정이 포함된 선택적 BLOB 오브젝트입니다.
    • PDF 문서에 적용할 메타데이터 정보가 포함된 선택적 BLOB 개체입니다.
    • 메서드로 채워지는 형식 BLOB 의 출력 CreatePDF2 매개 변수입니다. 이 CreatePDF2 개체는 변환된 문서로 채워집니다. 이 매개 변수 값은 웹 서비스 호출에만 필요합니다.
  5. 결과 검색
    • 개체 필드를 바이트 배열에 할당하여 변환된 PDF 문서 BLOB MTOM 검색합니다. 바이트 배열은 변환된 PDF 문서를 나타냅니다. 메서드에 대한 출력 매개 변수로 사용되는 BLOB 객체를 사용해야 HtmlToPDF2 합니다.
    • 생성자를 호출하고 변환된 PDF 문서의 파일 위치를 나타내는 문자열 값을 전달하여 System.IO.FileStream 개체를 만듭니다.
    • 생성자를 호출하고 개체를 전달하여 System.IO.BinaryWriter 개체를 System.IO.FileStream 만듭니다.
    • 개체의 메서드를 호출하고 바이트 배열을 전달하여 바이트 배열의 내용을 PDF 파일 System.IO.BinaryWriter Write 에 씁니다.
참고 항목

PDF 문서를 이미지가 아닌 포맷으로 변환

이 섹션에서는 ## 를 사용하여 PDF 문서를 RTF 파일로 프로그래밍 방식으로 변환하는 방법을 설명합니다. RTF 파일은 이미지가 아닌 포맷의 예입니다. HTML, 텍스트, DOC 및 EPS가 이미지 이외의 다른 포맷입니다. PDF 문서를 RTF로 변환할 때 PDF 문서에 전송 버튼과 같은 양식 요소가 포함되어 있지 않은지 확인합니다. 양식 요소는 변환되지 않습니다.
PDF 생성 서비스에 대한 자세한 내용은 AEM Forms 에 대한 서비스 참조를 참조하십시오 .

단계 요약

PDF 문서를 지원되는 유형으로 변환하려면 다음 단계를 수행하십시오.
  1. 프로젝트 파일 포함
  2. PDF 클라이언트 생성
  3. 변환할 PDF 문서를 검색합니다.
  4. PDF 문서 변환
  5. 변환된 파일을 저장합니다.
프로젝트 파일 포함
개발 프로젝트에 필요한 파일을 포함할 수 있습니다. Java를 사용하여 클라이언트 응용 프로그램을 만드는 경우 필요한 JAR 파일을 포함합니다. 웹 서비스를 사용하는 경우 프록시 파일을 포함해야 합니다.
PDF 클라이언트 생성
프로그래밍 방식으로 PDF 생성 작업을 수행하려면 먼저 PDF 생성 서비스 클라이언트를 만들어야 합니다. Java API를 사용하는 경우 GeneratePdfServiceClient 개체를 만듭니다. 웹 서비스 API를 사용하는 경우 GeneratePDFServiceService 개체를 만듭니다.
변환할 PDF 문서 검색
PDF 문서를 검색하여 이미지가 아닌 포맷으로 변환할 수 있습니다.
PDF 문서 변환
서비스 클라이언트를 만든 후 PDF 내보내기 작업을 호출할 수 있습니다. 이 작업을 수행하려면 대상 문서의 경로를 비롯하여 변환할 문서에 대한 정보가 필요합니다.
변환된 파일 저장
변환된 파일을 저장합니다. 예를 들어 PDF 문서를 RTF 파일로 변환하는 경우 변환된 문서를 RTF 파일로 저장할 수 있습니다.
참고 항목

Java API를 사용하여 PDF 문서를 RTF 파일로 변환

PDF API 생성(Java)을 사용하여 PDF 문서를 RTF 파일로 변환:
  1. 프로젝트 파일 포함
    Java 프로젝트의 클래스 경로에 adobe-generatepdf-client.jar와 같은 클라이언트 JAR 파일을 포함합니다.
  2. PDF 클라이언트 생성
    생성자를 사용하여 GeneratePdfServiceClient 객체를 만들고 연결 속성이 포함된 ServiceClientFactory 객체를 전달합니다.
  3. 변환할 PDF 문서를 검색합니다.
    • 생성자를 사용하여 변환할 PDF 문서를 나타내는 java.io.FileInputStream 개체를 만듭니다. PDF 문서의 위치를 지정하는 문자열 값을 전달합니다.
    • 생성자를 사용하여 개체를 com.adobe.idp.Document 만들고 개체를 java.io.FileInputStream 전달합니다.
  4. PDF 문서 변환
    개체의 GeneratePdfServiceClient 메서드를 exportPDF2 호출하고 다음 값을 전달합니다.
    • 변환할 PDF 파일을 나타내는 com.adobe.idp.Document 개체입니다.
    • 변환할 파일의 이름이 들어 있는 java.lang.String 개체입니다.
    • Adobe PDF 설정의 이름을 포함하는 java.lang.String 개체입니다.
    • 변환의 대상 파일 유형을 지정하는 ConvertPDFFormatType 개체
    • PDF 문서를 생성하는 동안 적용할 설정이 포함된 선택적 com.adobe.idp.Document 오브젝트입니다.
    exportPDF2 메서드는 변환된 파일이 포함된 ExportPDFResult 개체를 반환합니다.
  5. PDF 문서 변환
    새로 만든 파일을 얻으려면 다음 작업을 수행하십시오.
    • 개체의 ExportPDFResult 메서드를 getConvertedDocument 호출합니다. 그러면 com.adobe.idp.Document 개체가 반환됩니다.
    • 새 문서를 추출하려면 com.adobe.idp.Document 개체의 copyToFile 메서드를 호출합니다.
참고 항목

웹 서비스 API를 사용하여 PDF 문서를 RTF 파일로 변환

PDF API 생성(웹 서비스)을 사용하여 PDF 문서를 RTF 파일로 변환:
  1. 프로젝트 파일 포함
    MTOM을 사용하는 Microsoft .NET 프로젝트를 만듭니다. 다음 WSDL 정의를 사용해야 합니다. http://localhost:8080/soap/services/GeneratePDFService?WSDL&lc_version=9.0.1 .
    AEM Forms localhost 를 호스팅하는 서버의 IP 주소로 대체합니다.
  2. PDF 클라이언트 생성
    • 기본 생성자를 사용하여 GeneratePDFServiceClient 개체를 만듭니다.
    • 생성자를 사용하여 GeneratePDFServiceClient.Endpoint.Address 개체를 System.ServiceModel.EndpointAddress 만듭니다. WSDL을 지정하는 문자열 값을 AEM Forms 서비스에 전달합니다(예: http://localhost:8080/soap/services/GeneratePDFService?blob=mtom .) 속성을 사용할 필요는 lc_version 없습니다. 하지만 지정합니다 ?blob=mtom .
    • 필드의 값을 System.ServiceModel.BasicHttpBinding 가져와 개체를 GeneratePDFServiceClient.Endpoint.Binding 만듭니다. 반환 값을 다음으로 캐스팅합니다 BasicHttpBinding .
    • 개체 System.ServiceModel.BasicHttpBinding 필드를 (으)로 MessageEncoding 설정합니다 WSMessageEncoding.Mtom . 이 값을 사용하면 MTOM이 사용됩니다.
    • 다음 작업을 수행하여 기본 HTTP 인증을 활성화합니다.
      • 필드에 AEM 양식 사용자 이름을 지정합니다 GeneratePDFServiceClient.ClientCredentials.UserName.UserName .
      • 해당 암호 값을 필드에 지정합니다 GeneratePDFServiceClient.ClientCredentials.UserName.Password .
      • 필드에 상수 값 HttpClientCredentialType.Basic 을 지정합니다 BasicHttpBindingSecurity.Transport.ClientCredentialType .
      • 필드에 상수 값 BasicHttpSecurityMode.TransportCredentialOnly 을 지정합니다 BasicHttpBindingSecurity.Security.Mode .
  3. 변환할 PDF 문서를 검색합니다.
    • 생성자를 사용하여 BLOB 개체를 만듭니다. 이 BLOB 개체는 변환된 PDF 문서를 저장하는 데 사용됩니다.
    • 생성자를 호출하고 PDF 문서의 파일 위치와 파일을 열 모드를 나타내는 문자열 값을 전달하여 System.IO.FileStream 개체를 만듭니다.
    • 개체의 내용을 저장하는 바이트 배열을 System.IO.FileStream 만듭니다. 개체의 속성을 가져와 바이트 배열의 크기를 결정할 수 System.IO.FileStream Length 있습니다.
    • 개체의 메서드를 호출하고 바이트 배열, 시작 위치 및 읽을 스트림 길이를 전달하여 바이트 배열 System.IO.FileStream Read 을 스트림 데이터로 채웁니다.
    • 바이트 배열의 내용을 해당 BLOB 속성에 할당하여 MTOM 개체를 채웁니다.
  4. PDF 문서 변환
    개체의 GeneratePDFServiceServiceWse 메서드를 ExportPDF2 호출하고 다음 값을 전달합니다.
    • 변환할 PDF 파일을 나타내는 BLOB 개체입니다.
    • 변환할 파일의 경로 이름을 포함하는 문자열.
    • 파일 위치를 지정하는 java.lang.String 개체입니다.
    • 변환의 대상 파일 유형을 지정하는 문자열 개체 지정 RTF .
    • PDF 문서를 생성하는 동안 적용할 설정이 포함된 선택적 BLOB 오브젝트입니다.
    • 메서드로 채워지는 형식 BLOB 의 출력 ExportPDF2 매개 변수입니다. 이 ExportPDF2 개체는 변환된 문서로 채워집니다. 이 매개 변수 값은 웹 서비스 호출에만 필요합니다.
  5. 변환된 파일을 저장합니다.
    • 개체 필드를 바이트 배열에 할당하여 변환된 RTF 문서 BLOB MTOM 검색합니다. 바이트 배열은 변환된 RTF 문서를 나타냅니다. 메서드에 대한 출력 매개 변수로 사용되는 BLOB 객체를 사용해야 ExportPDF2 합니다.
    • 생성자를 호출하여 System.IO.FileStream 개체를 만듭니다. RTF 파일의 위치를 나타내는 문자열 값을 전달합니다.
    • 생성자를 호출하고 개체를 전달하여 System.IO.BinaryWriter 개체를 System.IO.FileStream 만듭니다.
    • 개체의 메서드를 호출하고 바이트 배열을 전달하여 바이트 배열의 내용을 RTF 파일 System.IO.BinaryWriter Write 에 씁니다.
참고 항목

추가 기본 파일 포맷 지원 추가

이 섹션에서는 추가 기본 파일 포맷에 대한 지원을 추가하는 방법을 설명합니다. PDF 생성 서비스와 이 서비스가 기본 파일 형식을 PDF로 변환하는 데 사용하는 기본 애플리케이션 간의 상호 작용에 대한 개요를 제공합니다.
이 섹션에서는 다음 사항도 설명합니다.
  • PDF 생성 서비스가 이 제품이 기본 파일 형식을 PDF로 변환하는 데 이미 사용하는 기본 애플리케이션에 제공하는 응답을 수정하는 방법
  • PDF 생성 서비스, AppMon(PDF 서비스 애플리케이션 모니터) 구성 요소 및 기본 애플리케이션(예: Microsoft Word) 간의 상호 작용
  • XML 그램이 이러한 상호 작용에서 수행하는 역할

구성 요소 상호 작용

PDF 생성 서비스는 파일 형식과 관련된 응용 프로그램을 불러온 다음 기본 프린터를 사용하여 문서를 인쇄하기 위해 응용 프로그램과 상호 작용하여 기본 파일 형식을 변환합니다. 기본 프린터는 Adobe PDF 프린터로 설정해야 합니다.
이 그림은 기본 애플리케이션 지원과 관련된 구성 요소 및 드라이버를 보여줍니다. 또한 상호 작용에 영향을 주는 XML 문법에 대해서도 언급합니다.
기본 파일 변환을 위한 구성 요소 상호 작용
이 문서에서는 기본 응용 프로그램이라는 용어를 사용하여 Microsoft Word와 같은 기본 파일 형식을 만드는 데 사용되는 응용 프로그램을 나타냅니다.
AppMon은 사용자가 해당 애플리케이션에서 제공하는 대화 상자를 탐색하는 것과 동일한 방식으로 기본 애플리케이션과 상호 작용하는 기업 구성 요소입니다. AppMon이 Microsoft Word와 같은 응용 프로그램을 열어 인쇄하도록 지시하는 데 사용하는 XML 그램에는 다음과 같은 순차적 작업이 포함됩니다.
  1. 파일 > 열기를 선택하여 파일 열기
  2. 열기 대화 상자가 나타나는지 확인합니다.그렇지 않으면 오류 처리
  3. 파일 이름 필드에 파일 이름을 제공한 다음 열기 단추를 클릭합니다.
  4. 파일이 실제로 열리는지 확인
  5. 파일 > 인쇄를 선택하여 인쇄 대화 상자 열기
  6. 인쇄 대화 상자가 나타나는지 확인
AppMon은 표준 Win32 API를 사용하여 타사 애플리케이션과 상호 작용하여 키 획 및 마우스 클릭과 같은 UI 이벤트를 전송하며, 이러한 애플리케이션을 제어하여 PDF 파일을 생성합니다.
이러한 Win32 API의 제한 사항으로 인해 AppMon은 이러한 UI 이벤트를 부동 메뉴 모음(텍스트 패드와 같은 일부 응용 프로그램에서 찾음)과 Win32 API를 사용하여 내용을 검색할 수 없는 특정 유형의 대화 상자와 같은 특정 종류의 창으로 전달할 수 없습니다.
부동 메뉴 막대를 시각적으로 손쉽게 식별할 수 있습니다.하지만 시각적인 조사만으로 특수한 유형의 대화를 구별할 수는 없을 것이다. 대화 상자를 검사하여 AppMon이 표준 Win32 API를 사용하여 AppMon과 상호 작용할 수 있는지 확인하기 위해 Microsoft Spy++(Microsoft Visual C++ 개발 환경의 일부) 또는 이와 동일한 WinID(https://www.dennisbabkin.com/php/download.php?what=WinID에서 무료로 다운로드할 수 있음 download.php?what=WinID )와 같은 타사 응용 프로그램이 필요합니다.
WinID가 텍스트, 하위 창, 창 클래스 ID 등과 같은 대화 내용을 추출할 수 있는 경우 AppMon도 같은 작업을 수행할 수 있습니다.
이 표에는 기본 파일 형식 인쇄에 사용되는 정보의 유형이 나와 있습니다.
정보 유형
설명
기본 파일과 관련된 항목 수정/만들기
관리 설정
PDF 설정, 보안 설정 및 파일 유형 설정이 포함되어 있습니다.
파일 유형 설정은 해당 기본 응용 프로그램과 파일 이름 확장자를 연결합니다. 파일 유형 설정은 기본 파일을 인쇄하는 데 사용되는 기본 응용 프로그램 설정도 지정합니다.
이미 지원되는 기본 응용 프로그램에 대한 설정을 변경하려면 시스템 관리자가 관리 콘솔에서 파일 유형 설정을 설정합니다.
새 기본 파일 형식에 대한 지원을 추가하려면 파일을 수동으로 편집해야 합니다. 기본 파일 형식에 대한 지원 추가 또는 수정을 참조하십시오 .
스크립트
PDF 생성 서비스와 기본 애플리케이션 간의 상호 작용을 지정합니다. 이러한 상호 작용은 일반적으로 애플리케이션이 파일을 Adobe PDF 드라이버으로 인쇄하도록 합니다.
스크립트에는 기본 응용 프로그램이 특정 대화 상자를 열도록 안내하고 해당 대화 상자의 필드 및 단추에 대한 특정 응답을 제공하는 지침이 들어 있습니다.
PDF 생성 서비스에는 지원되는 모든 기본 애플리케이션에 대한 스크립트 파일이 포함되어 있습니다. XML 편집 응용 프로그램을 사용하여 이러한 파일을 수정할 수 있습니다.
새 기본 애플리케이션에 대한 지원을 추가하려면 새 스크립트 파일을 만들어야 합니다. 기본 응용 프로그램에 대한 추가 대화 상자 XML 파일 만들기 또는 수정을 참조하십시오 .
일반 대화 상자 지침
여러 응용 프로그램에 공통으로 사용되는 대화 상자에 응답하는 방법을 지정합니다. 이러한 대화 상자는 운영 체제, 보조 애플리케이션(예: PDFMaker) 및 드라이버에 의해 생성됩니다.
이 정보를 포함하는 파일은 appmon.global.en_US.xml입니다.
이 파일을 수정하지 마십시오.
애플리케이션별 대화 상자 지침
애플리케이션별 대화 상자에 응답하는 방법을 지정합니다.
이 정보가 들어 있는 파일이 적용됩니다. '[appname]' .dialog. '[locale]' .xml(예: appmon.word.en_US.xml).
이 파일을 수정하지 마십시오.
새 기본 응용 프로그램에 대한 대화 상자 지침을 추가하려면 기본 응용 프로그램에 대한 추가 대화 상자 XML 파일 만들기 또는 수정을 참조하십시오 .
추가 애플리케이션별 대화 상자 지침
애플리케이션별 대화 상자 지침에 대한 무시 및 추가 사항을 지정합니다. 이 섹션에는 이러한 정보의 예가 나와 있습니다.
이 정보가 들어 있는 파일이 적용됩니다. '[appname]' .addition. '[locale]' .xml. 예: appmon.addition.en_US.xml
이 유형의 파일은 XML 편집 응용 프로그램을 사용하여 만들고 수정할 수 있습니다. 기본 응용 프로그램에 대한 추가 대화 상자 XML 파일 만들기 또는 수정을 참조하십시오 .
중요 :서버가 지원할 각 기본 응용 프로그램에 대한 추가 응용 프로그램별 대화 상자 지침을 만들어야 합니다.

스크립트 및 대화 상자 XML 파일 정보

스크립트 XML 파일은 사용자가 애플리케이션 대화 상자를 탐색하는 것과 동일한 방식으로 PDF 생성 서비스가 애플리케이션 대화 상자를 탐색하도록 합니다. 또한 스크립트 XML 파일은 PDF 생성 서비스가 버튼을 누르거나, 확인란을 선택하거나 선택 취소하거나, 메뉴 항목을 선택하는 등의 작업을 수행하여 대화 상자에 응답하도록 합니다.
반면 대화 상자 XML 파일은 스크립트 XML 파일에 사용되는 것과 동일한 유형의 액션으로 대화 상자에 응답합니다.

대화 상자 및 창 요소 용어

이 섹션과 다음 섹션에서는 설명하는 원근에 따라 대화 상자와 대화 상자에 포함된 구성 요소에 대해 서로 다른 용어를 사용합니다. 대화 상자 구성 요소는 단추, 필드 및 콤보 상자와 같은 항목입니다.
이 섹션 및 다음 섹션에서 사용자의 관점에서 대화 상자와 해당 구성 요소에 대해 설명하는 경우 대화 상자 , ​단추 , ​필드 , ​필드 콤보 상자와 같은 용어가 사용됩니다.
이 섹션과 다음 섹션에서 내부 표현의 관점에서 대화 상자와 해당 구성 요소를 설명하면 창 요소라는 용어가 사용됩니다. 창 요소의 내부 표시는 각 창 요소 인스턴스가 레이블로 식별되는 계층입니다. 또한 창 요소 인스턴스는 물리적인 특성과 동작을 설명합니다.
사용자의 관점에서 대화 상자와 해당 구성 요소는 활성화될 때까지 일부 대화 상자 요소가 숨겨지는 서로 다른 동작을 보여줍니다. 내부 표현 측면에서 이러한 행동 문제는 존재하지 않습니다. 예를 들어 대화 상자의 내부 표현은 구성 요소가 대화 상자 내에 중첩되어 있다는 점을 제외하고 대화 상자에 포함된 구성 요소의 내부 표현과 비슷합니다.
이 섹션에서는 AppMon에 지침을 제공하는 XML 요소에 대해 설명합니다. 이러한 요소에는 dialog 요소 및 요소와 같은 이름이 window 있습니다. 이 문서에서는 고정 폭 글꼴을 사용하여 XML 요소를 구별합니다. 이 dialog 요소는 의도적이나 의도치 않게 XML 스크립트 파일이 표시될 수 있는 대화 상자를 식별합니다. 이 window 요소는 창 요소(대화 상자 또는 대화 상자의 구성 요소)를 식별합니다.

계층

이 다이어그램은 스크립트 및 대화 상자 XML의 계층을 보여줍니다. 스크립트 XML 파일은 window.xsd 스키마를 포함하는 script.xsd 스키마를 따릅니다. 마찬가지로 대화 상자 XML 파일은 window.xsd 스키마도 포함하는 dialogs.xsd 스키마를 따릅니다.
스크립트 및 대화 상자 XML 계층 구조

스크립트 XML 파일

스크립트 XML 파일은 기본 애플리케이션이 특정 창 요소로 이동한 다음 해당 요소에 대한 응답을 제공하는 일련의 단계를 지정합니다. 대부분의 응답은 사용자가 해당 대화 상자의 필드, 콤보 상자 또는 단추에 제공하는 입력에 해당하는 텍스트 또는 키 입력입니다.
PDF 생성 서비스가 스크립트 XML 파일을 지원함에 따라 기본 애플리케이션에서 기본 파일을 인쇄하도록 합니다. 그러나 스크립트 XML 파일은 사용자가 기본 응용 프로그램의 대화 상자와 상호 작용할 때 수행할 수 있는 모든 작업을 수행하는 데 사용할 수 있습니다.
스크립트 XML 파일의 단계는 분기 작업 없이 순서대로 실행됩니다. 유일한 조건부 테스트는 시간 초과/재시도에 대해서만 지원되며, 이 경우 특정 시간 내에 단계가 성공적으로 완료되지 않고 특정 재시도 횟수를 초과할 경우 스크립트가 종료됩니다.
순차적 단계 외에도 단계 내의 지침도 순서대로 실행됩니다. 사용자가 동일한 단계를 수행하는 순서를 단계와 지침이 반영되도록 해야 합니다.
스크립트 XML 파일의 각 단계는 단계 명령이 성공적으로 수행되는 경우 표시될 윈도우 요소를 식별합니다. 스크립트 단계를 실행하는 동안 예기치 않은 대화 상자가 나타나면 PDF 생성 서비스는 다음 섹션에 설명된 대로 대화 상자 XML 파일을 검색합니다.

대화 상자 XML 파일

기본 응용 프로그램을 실행하면 기본 응용 프로그램이 표시 또는 보이지 않는 모드에 있는지 여부에 관계없이 나타나는 서로 다른 대화 상자가 표시됩니다. 대화 상자는 운영 체제나 응용 프로그램 자체에 의해 생성될 수 있습니다. 기본 애플리케이션이 PDF 생성 서비스의 제어하에 실행되고 있으면 시스템 및 기본 애플리케이션 대화 상자가 보이지 않는 창에 표시됩니다.
대화 상자 XML 파일은 PDF 생성 서비스가 시스템 또는 기본 응용 프로그램 대화 상자에 응답하는 방식을 지정합니다. 대화 상자 XML 파일을 통해 PDF 생성 서비스가 메시지가 표시되지 않는 대화 상자에 손쉽게 응답하여 변환 프로세스를 진행할 수 있습니다.
현재 실행 중인 스크립트 XML 파일에서 처리되지 않은 대화 상자를 시스템 또는 기본 애플리케이션에 표시하는 경우 PDF 생성 서비스는 일치 항목을 찾을 때 정지하여 이 순서로 대화 상자 XML 파일을 검색합니다.
  • appmon. [appname] 추가. [locale] .xml
  • appmon. [appname] . [locale] .xml(이 파일을 수정하지 마십시오.)
  • appmon.global. [locale] .xml(이 파일을 수정하지 마십시오.)
# 서비스에서 대화 상자에 대한 일치 항목을 찾으면 대화 상자에 지정된 키 입력이나 기타 작업을 전송하여 제거됩니다. 대화 상자에 대한 지시에서 중단 메시지를 지정하면 PDF 생성 서비스가 현재 실행 중인 작업을 종료하고 오류 메시지를 생성합니다. 이러한 중단 메시지는 스크립트 XML 문법의 abortMessage 요소에 지정됩니다.
PDF 생성 서비스에서 이전에 나열된 파일에 설명되어 있지 않은 대화 상자가 나타나면 PDF 생성 서비스는 대화 상자의 캡션을 로그 파일 항목에 통합합니다. 현재 실행 중인 작업이 결국 시간 초과됩니다. 그런 다음 로그 파일의 정보를 사용하여 기본 응용 프로그램의 추가 대화 상자 XML 파일에 새 지침을 작성할 수 있습니다.

기본 파일 형식에 대한 지원 추가 또는 수정

이 섹션에서는 다른 기본 파일 형식을 지원하거나 이미 지원되는 기본 파일 형식에 대한 지원을 수정하기 위해 수행해야 하는 작업에 대해 설명합니다.
지원을 추가하거나 수정하려면 먼저 다음 작업을 완료해야 합니다.

창 요소를 식별하는 도구 선택

대화 상자 및 스크립트 XML 파일을 사용하려면 대화 상자나 스크립트 요소가 응답하는 창 요소(대화 상자, 필드 또는 기타 대화 상자 구성 요소)를 식별해야 합니다. 예를 들어, 스크립트에서 기본 애플리케이션에 대한 메뉴를 불러온 후 스크립트는 키 입력이나 동작을 적용할 해당 메뉴의 창 요소를 식별해야 합니다.
대화 상자가 제목 표시줄에 표시되는 캡션으로 대화 상자를 손쉽게 식별할 수 있습니다. 그러나 Microsoft Spy++와 같은 도구를 사용하여 더 낮은 수준의 창 요소를 식별해야 합니다. 낮은 수준의 창 요소는 다양한 특성을 통해 식별할 수 있으며, 이는 분명하지 않습니다. 또한 각 기본 응용 프로그램은 창 요소를 다르게 식별할 수 있습니다. 따라서 창 요소를 식별하는 여러 가지 방법이 있습니다. 다음은 창 요소 식별을 고려하는 권장 주문입니다.
  1. 고유한 경우 캡션 자체
  2. 지정된 대화 상자에 대해 고유하거나 고유하지 않을 수 있는 컨트롤 ID
  3. 클래스 이름(고유하거나 고유하지 않을 수 있음)
이러한 세 가지 속성의 하나 또는 조합을 사용하여 창을 식별할 수 있습니다.
특성이 캡션을 식별하지 못하는 경우 대신 상위에 대한 색인을 사용하여 창 요소를 식별할 수 있습니다. 인덱스는 창 요소 동위 창 요소를 기준으로 창 요소의 위치를 지정합니다. 콤보 상자를 식별할 수 있는 유일한 방법은 자주 색인입니다.
다음 문제에 주의하십시오.
  • Microsoft Spy++는 앰퍼샌드(&)를 사용하여 캡션의 핫키를 식별하여 캡션을 표시합니다. 예를 들어 Spy++에는 하나의 인쇄 대화 상자에 대한 캡션이 표시됩니다. 이는 핫키가 n임을 Pri&nt 나타냅니다 **. 스크립트 및 대화 상자 XML 파일의 캡션 제목에는 앰퍼샌드를 생략해야 합니다.
  • 일부 캡션에는 줄 바꿈이 포함됩니다. PDF 생성 서비스는 줄바꿈을 식별할 수 없습니다. 캡션에 줄 바꿈이 포함되어 있는 경우 캡션을 충분히 포함시켜 다른 메뉴 항목과 구분한 다음 누락된 부분에 정규 표현식을 사용합니다. 예로는 ( ^Long caption title$ )가 있습니다. 캡션 특성에서 정규 표현식 사용을 참조하십시오 .
  • 예약된 XML 문자에 문자 엔티티(이스케이프 시퀀스라고도 함)를 사용합니다. 예를 들어 앰퍼샌드 & < 대해, > 보다 작거나 큰 기호 &apos; 에 대해, 아포스트로피 &quot; 및 인용 부호에 대해 사용합니다.
대화 상자 또는 스크립트 XML 파일 작업을 하려면 Microsoft Spy+ 응용 프로그램을 설치해야 합니다.

대화 상자 및 스크립트 파일 패키징 취소

대화 상자와 스크립트 파일은 appmondata.jar 파일에 있습니다. 이러한 파일을 수정하거나 새 스크립트 또는 대화 상자 파일을 추가하려면 먼저 이 JAR 파일의 패키지를 해제해야 합니다. 예를 들어 EditPlus 응용 프로그램에 대한 지원을 추가한다고 가정합니다. appmon.editplus.script.en_US.xml 및 appmon.editplus.script.addition.en_US.xml이라는 두 개의 XML 파일을 만듭니다. 아래의 지정된 대로 두 위치에서 이러한 XML 스크립트를 adobe-appmondata.jar 파일에 추가해야 합니다.
  • adobe-livecycle-native-jboss-x86_win32.ear > adobe-Native2PDFSvc.war\WEB-INF\lib > adobe-native.jar > Native2PDFSvc-native.jar\bin > adobe-appmondata.jar\com\adobe\appmon adobe-livecycle-native-jboss-x86_win32.ear 파일은 내보내기 폴더()에 있습니다 [AEM forms install directory]\configurationManager . (AEM Forms이 다른 J2EE 응용 프로그램 서버에 배포된 경우 adobe-livecycle-native-jboss-x86_win32.ear 파일을 J2EE 응용 프로그램 서버에 해당하는 EAR 파일로 바꿉니다.)
  • adobe-generatepdf-dsc.jar > adobe-appmondata.jar\com\adobe\appmon (adobe-appmondata.jar 파일은 adobe-generatepdf-dsc.jar 파일에 있습니다.) adobe-generatepdf-dsc.jar 파일이 [AEM forms install directory]\deploy 폴더에 있습니다.
이러한 XML 파일을 adobe-appmondata.jar 파일에 추가한 후 GeneratePDF 구성 요소를 다시 배포해야 합니다. 대화 상자 및 스크립트 XML 파일을 adobe-appmondata.jar 파일에 추가하려면 다음 작업을 수행하십시오.
  1. WinZip 또는 WinRAR와 같은 도구를 사용하여 adobe-livecycle-native-jboss-x86_win32.efile > adobe-Native2PDFSvc.war\WEB-INF\lib > adobe-native.jar > Native2PDFSvc.jar\bin > adobe-appmondata.jar 파일을 엽니다.
  2. 대화 상자 및 스크립트 XML 파일을 appmondata.jar 파일에 추가하거나 이 파일에서 기존 XML 파일을 수정합니다. 기본 응용 프로그램용 스크립트 XML 파일 만들기 또는 수정 및 기본 응용 프로그램용 추가 대화 상자 XML 파일 만들기 또는 수정을 참조하십시오 .
  3. WinZip 또는 WinRAR와 같은 도구를 사용하여 adobe-generatepdf-dsc.jar > adobe-appmondata.jar를 엽니다.
  4. 대화 상자 및 스크립트 XML 파일을 appmondata.jar 파일에 추가하거나 이 파일에서 기존 XML 파일을 수정합니다. 기본 응용 프로그램용 스크립트 XML 파일 만들기 또는 수정 및 기본 응용 프로그램용 추가 대화 상자 XML 파일 만들기 또는 수정을 참조하십시오 . adobe-appmondata.jar 파일에 XML 파일을 추가한 후 새로운 adobe-appmondata.jar 파일을 adobe-generatepdf-dsc.jar 파일에 넣습니다.
  5. 추가 기본 파일 형식에 대한 지원을 추가한 경우 응용 프로그램의 경로를 제공하는 시스템 환경 변수를 만드십시오(기본 응용 프로그램을 찾으려면 환경 변수 만들기를 참조하십시오 .)
GeneratePDF 구성 요소를 재배포하려면
  1. Workbench에 로그인합니다.
  2. ​> 보기 표시 > 구성 요소를 ​선택합니다. 이 작업을 수행하면 구성 요소 보기가 워크벤치에 추가됩니다.
  3. GeneratePDF 구성 요소를 마우스 오른쪽 단추로 클릭한 다음 구성 요소 중지를 선택합니다 .
  4. 구성 요소가 중지되면 마우스 오른쪽 단추를 클릭하고 구성 요소 제거를 선택하여 제거합니다.
  5. 구성 요소 아이콘을 마우스 오른쪽 단추로 클릭하고 구성 요소 설치를 선택합니다 .
  6. 수정된 adobe-generatepdf-dsc.jar 파일을 찾아 선택한 다음 # 를 클릭합니다. GeneratePDF 구성 요소 옆에 빨간색 사각형이 나타납니다.
  7. GeneratePDF 구성 요소를 확장하고 서비스 설명자를 선택한 다음 GeneratePDF서비스를 마우스 오른쪽 단추로 클릭하고 서비스 활성화를 선택합니다.
  8. 표시되는 구성 대화 상자에 적용 가능한 구성 값을 입력합니다. 이 값을 비워 두면 기본 구성 값이 사용됩니다.
  9. GeneratePDF를 마우스 오른쪽 버튼으로 클릭하고 구성 요소 시작을 선택합니다.
  10. 활성 서비스 확장을 참조하십시오. 실행 중인 경우 서비스 이름 옆에 녹색 화살표가 나타납니다. 그렇지 않으면 서비스가 중지된 상태입니다.
  11. 서비스가 중지 상태인 경우 서비스 이름을 마우스 오른쪽 단추로 클릭하고 # 을 선택합니다.

기본 응용 프로그램용 스크립트 XML 파일 만들기 또는 수정

새 기본 응용 프로그램으로 파일을 인도하려면 해당 응용 프로그램의 스크립트 XML 파일을 만들어야 합니다. PDF 생성 서비스가 이미 지원되는 기본 애플리케이션과 상호 작용하는 방식을 수정하려면 해당 애플리케이션에 대한 스크립트를 수정해야 합니다.
스크립트에는 기본 응용 프로그램의 창 요소를 탐색하고 해당 요소에 대한 특정 응답을 제공하는 지침이 들어 있습니다. 이 정보가 포함된 파일은 appname appmon. # 로케일입니다 .script. #.xml . 예: appmon.notepad.script.en_US.xml

스크립트가 실행해야 하는 단계 식별

기본 응용 프로그램을 사용하여 탐색해야 하는 창 요소와 문서를 인쇄하기 위해 수행해야 하는 각 응답을 결정합니다. 응답으로 인한 대화 상자를 확인합니다. 이 단계는 다음 단계와 유사합니다.
  1. 파일 > 열기를 선택합니다.
  2. 경로를 지정한 다음 열기를 클릭합니다.
  3. 메뉴 모음에서 파일 > 인쇄를 선택합니다.
  4. 프린터에 필요한 속성을 지정합니다.
  5. 인쇄를 선택하고 다른 이름으로 저장 대화 상자가 나타날 때까지 기다립니다. PDF 파일 대상을 지정하려면 다른 이름으로 저장 대화 상자가 필요합니다.

캡션 속성에 지정된 대화 상자 식별

Microsoft Spy++를 사용하여 기본 응용 프로그램에서 창 요소 속성의 ID를 가져옵니다. 스크립트를 작성하려면 이러한 ID가 있어야 합니다.

캡션 특성에서 정규 표현식 사용

캡션 사양에 정규 표현식을 사용할 수 있습니다. PDF 생성 서비스는 이 java.util.regex.Matcher 클래스를 사용하여 정규 표현식을 지원합니다. 이 유틸리티는 에 설명된 일반 표현식을 지원합니다 java.util.regex.Pattern . (https://java.sun.com/j2se/1.4.2/docs/api/java/util/regex/Pattern.html의 Java 웹 사이트로 이동합니다 .)
메모장 배너의 메모장 앞에 있는 파일 이름을 허용하는 정규 표현식
 <!-- The regular expression ".*Notepad" means any number of non-terminating characters followed by Notepad. -->
 <step>
     <expectedWindow>
         <window caption=".*Notepad"/>
     </expectedWindow>
 </step>

인쇄 설정과 인쇄 설정을 구분하는 정규 표현식
 <!-- 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>

창 및 창 순서 지정목록 요소

다음과 같이 window windowList 요소를 주문해야 합니다.
  • 여러 window 요소가 windowList 또는 dialog 요소의 자식으로 표시되는 경우 해당 window 요소를 내림차순으로 정렬하고 순서의 위치를 caption 나타내는 이름의 길이를 지정합니다.
  • 여러 windowList 요소가 한 window 요소에 나타나는 경우 해당 windowList 요소의 순서를 내림차순으로 정렬하고 첫 번째 caption indexes/ 요소의 길이는 순서의 위치를 나타냅니다.
대화 상자 파일에서 창 요소 순서 지정
 <!-- 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>

창 요소 순서 지정목록 요소
 <!-- 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&apos;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>

기본 응용 프로그램용 추가 대화 상자 XML 파일 만들기 또는 수정

이전에 지원되지 않았던 기본 응용 프로그램의 스크립트를 만드는 경우 해당 응용 프로그램에 대한 추가 대화 상자 XML 파일도 만들어야 합니다. AppMon에서 사용하는 모든 기본 응용 프로그램에는 대화 상자 XML 파일이 하나만 있어야 합니다. 요청되지 않은 대화 상자가 없어도 추가 대화 상자 XML 파일이 필요합니다. 추가 대화 상자에는 해당 요소가 자리 표시자에 불과하더라도 하나 이상의 window 요소 window 가 있어야 합니다.
이러한 상황에서 추가 용어는 appmon.[applicationname].addition.[locale] .xml' 파일의 내용을 의미합니다. 이러한 파일은 대화 상자 XML 파일에 overrides 및 additions를 지정합니다.
다음과 같은 용도로 기본 애플리케이션에 대한 추가 대화 상자 XML 파일을 수정할 수도 있습니다.
  • 다른 응답을 가진 응용 프로그램의 대화 상자 XML 파일을 재정의하려면
  • 해당 응용 프로그램의 대화 상자 XML 파일에서 해결되지 않은 대화 상자에 응답을 추가하려면
추가 dialogXML 파일을 식별하는 파일 이름입니다 appmon.[appname].addition.[locale].xml . 예: appmon.excel.addition.en_US.xml
추가 대화 상자 XML 파일의 이름은 형식 appmon.[applicationname].addition.[locale].xml 을 사용해야 합니다. 여기서 응용 프로그램 이름은 XML 구성 파일 및 스크립트에서 사용되는 응용 프로그램 이름과 정확히 일치해야 합니다.
native2pdfconfig.xml 구성 파일에 지정된 일반 응용 프로그램에는 기본 대화 상자 XML 파일이 없습니다. 기본 파일 형식 에 대한 지원 추가 또는 수정 섹션에서는 이러한 사양에 대해 설명합니다.
요소에 하위 항목으로 표시되는 windowList 요소를 주문해야 window 합니다. 창 및 windowList 요소 순서를 참조하십시오 .

일반 대화 상자 XML 파일 수정

일반 대화 상자 XML 파일을 수정하여 시스템에서 생성된 대화 상자에 응답하거나 여러 응용 프로그램에서 일반적으로 사용되는 대화 상자에 응답할 수 있습니다.

XML 구성 파일에 파일 유형 항목 추가

이 절차에서는 파일 유형을 기본 응용 프로그램과 연결할 수 있도록 PDF 서비스 구성 파일을 업데이트하는 방법에 대해 설명합니다. 이 구성 파일을 업데이트하려면 관리 콘솔을 사용하여 구성 데이터를 파일로 내보내야 합니다. 구성 데이터의 기본 파일 이름은 native2pdfconfig.xml입니다.
PDF 서비스 구성 파일 업데이트
  1. ​> 서비스 > Adobe PDF 생성기 구성 파일 > ​파일 내보내기를 선택한 다음 Export Configuration을 선택합니다.
  2. 필요에 따라 native2pdfconfig.xml 파일의 filetype-settings 요소를 수정합니다.
  3. ​> 서비스 > Adobe PDF 생성기 > 구성​ 파일 > ​파일 가져오기를 선택한 다음 Facebook 구성을 선택합니다. 구성 데이터를 PDF 생성 서비스로 가져와 이전 설정을 대체합니다.
애플리케이션의 이름은 GenericApp 요소 속성 값으로 name 지정됩니다. 이 값은 해당 응용 프로그램에 대해 개발한 스크립트에 지정된 해당 이름과 정확히 일치해야 합니다. 마찬가지로, 요소의 GenericApp displayName 속성은 해당 스크립트의 expectedWindow 창 캡션과 정확히 일치해야 합니다. 이러한 등가는 displayName 또는 속성에 나타나는 일반 표현식을 해결한 후 caption 평가됩니다.
이 예제에서 PDF 생성 서비스와 함께 제공된 기본 구성 데이터는 파일 이름 확장명이 .txt인 파일을 처리하는 데 메모장(Microsoft Word 아님)을 사용하도록 수정되었습니다. 이 수정 전에 Microsoft Word가 이러한 파일을 처리해야 하는 기본 애플리케이션으로 지정되었습니다.
텍스트 파일을 메모장으로 리디렉션하기 위한 수정(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>

기본 애플리케이션을 찾기 위한 환경 변수 만들기

기본 응용 프로그램 실행 파일의 위치를 지정하는 환경 변수를 만듭니다. 이 변수에는 형식 [applicationname]_PATH 을 사용해야 합니다. 여기서 application name은 XML 구성 파일 및 스크립트에서 사용되는 응용 프로그램 이름과 정확히 일치해야 하며, 경로에 실행 파일의 경로가 큰따옴표로 되어 있어야 합니다. 이러한 환경 변수의 예는 다음과 같습니다 Photoshop_PATH .
새 환경 변수를 만든 후 PDF 생성 서비스가 배포된 서버를 다시 시작해야 합니다.
Windows XP 환경에서 시스템 변수 만들기
  1. Campaign 컨트롤 패널 > 시스템을 선택합니다 .
  2. 시스템 속성 대화 상자에서 고급 탭을 클릭한 다음 환경 변수를 클릭합니다 .
  3. 환경 변수 대화 상자의 시스템 변수에서 새로 만들기를 클릭합니다 .
  4. 새 시스템 변수 대화 상자의 변수 이름 상자에 형식을 사용하는 이름을 입력합니다 [applicationname]_PATH .
  5. 변수 값 ​상자에 응용 프로그램 실행 파일의 전체 경로 및 파일 이름을 입력한 다음 확인을 클릭합니다 . 예를 들어 다음을 입력합니다. c:\windows\Notepad.exe
  6. 환경 변수 대화 상자에서 확인을 클릭합니다 .
명령줄에서 시스템 변수 만들기
  1. 명령줄 창에서 다음 형식을 사용하여 변수 정의를 입력합니다.
             [applicationname]_PATH=[Full path name]
    
    
    예를 들어 다음을 입력합니다. NotePad_PATH=C:\WINDOWS\NOTEPAD.EXE
  2. 시스템 변수가 적용되도록 새 명령줄 프롬프트를 시작합니다.

XML 파일

AEM Forms에는 파일 확장명이 .txt인 파일을 처리하기 위해 메모장을 사용하는 PDF 생성 서비스가 사용되는 샘플 파일이 포함되어 있습니다. 이 코드는 이 섹션에 포함되어 있습니다. 또한 이 섹션에 설명된 다른 수정 사항을 수행해야 합니다.

추가 대화 상자 XML 파일

이 예에는 메모장 응용 프로그램의 추가 대화 상자가 포함되어 있습니다. 이러한 대화 상자는 PDF 생성 서비스에서 지정한 대화 상자와 함께 사용할 수 있습니다.
메모장 대화 상자(appmon.notepad.addition.en_US.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>

스크립트 XML 파일

이 예에서는 Adobe PDF 프린터를 사용하여 파일을 인쇄하기 위해 PDF 생성 서비스가 메모장과 상호 작용하는 방법을 지정합니다.
메모장 스크립트 XML 파일(appmon.notepad.script.en_US.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>