Adobe 개발자 API를 사용하여 PDF를操作
고급
이것은Building Blocks, AI분야의자동화 워크플로우로, 20개의 노드를 포함합니다.주로 Set, Wait, Merge, Switch, Dropbox 등의 노드를 사용하며인공지능 기술을 결합하여 스마트 자동화를 구현합니다. Adobe 개발자 API를 사용하여 PDF 작업
사전 요구사항
- •대상 API의 인증 정보가 필요할 수 있음
워크플로우 미리보기
노드 연결 관계를 시각적으로 표시하며, 확대/축소 및 이동을 지원합니다
워크플로우 내보내기
다음 JSON 구성을 복사하여 n8n에 가져오면 이 워크플로우를 사용할 수 있습니다
{
"meta": {
"instanceId": "cd478e616d2616186f4f92b70cfe0c2ed95b5b209f749f2b873b38bdc56c47c9"
},
"nodes": [
{
"id": "f4b1bdd8-654d-4643-a004-ff1b2f32b5ae",
"name": "'Test workflow' 클릭 시",
"type": "n8n-nodes-base.manualTrigger",
"position": [
580,
1100
],
"parameters": {},
"typeVersion": 1
},
{
"id": "d6b1c410-81c3-486d-bdcb-86a4c6f7bf9e",
"name": "에셋 생성",
"type": "n8n-nodes-base.httpRequest",
"position": [
1940,
580
],
"parameters": {
"url": "https://pdf-services.adobe.io/assets",
"method": "POST",
"options": {
"redirect": {
"redirect": {}
}
},
"sendBody": true,
"sendHeaders": true,
"authentication": "genericCredentialType",
"bodyParameters": {
"parameters": [
{
"name": "mediaType",
"value": "application/pdf"
}
]
},
"genericAuthType": "httpHeaderAuth",
"headerParameters": {
"parameters": [
{
"name": "Authorization",
"value": "=Bearer {{ $json.access_token }}"
}
]
}
},
"credentials": {
"httpHeaderAuth": {
"id": "PU8GmSwXswwM1Fzq",
"name": "Adobe API calls"
}
},
"typeVersion": 4.1
},
{
"id": "9e900a45-d792-4dc5-938c-0d5cdfd2e647",
"name": "워크플로 트리거 실행",
"type": "n8n-nodes-base.executeWorkflowTrigger",
"position": [
1140,
440
],
"parameters": {},
"typeVersion": 1
},
{
"id": "859f369d-f36f-4c3f-a50d-a17214fef2a3",
"name": "스티커 메모",
"type": "n8n-nodes-base.stickyNote",
"position": [
20,
140
],
"parameters": {
"color": 5,
"width": 667.6107231291055,
"height": 715.2927406867177,
"content": "# Adobe API Wrapper\n\nSee Adobe documentation:\n- https://developer.adobe.com/document-services/docs/overview/pdf-services-api/howtos/\n- https://developer.adobe.com/document-services/docs/overview/pdf-extract-api/gettingstarted/\n\nIn short, this workflow does the following steps :\n\n- Authentication\n- Upload an asset (pdf) to adobe\n- Wait for the asset to be processed by Adobe\n- Download the result\n\n## Credential\n\nCredentials are not \"predefined\" and you'll have to create 2 custom credentials, detailed in the workflow.\n\n## Result\n\nThe result will depend on the transformation requested. It could be 1 of various files (json, zip...) accessible via download URL returned by the workflow.\n\nWorkflow can be tested with a PDF filed fetched with Dorpbox for example or any storage provider. "
},
"typeVersion": 1
},
{
"id": "450199c5-e588-486d-81cf-eb69cf729ab1",
"name": "스티커 메모1",
"type": "n8n-nodes-base.stickyNote",
"position": [
560,
900
],
"parameters": {
"width": 857.2064431277577,
"height": 463.937514110429,
"content": "## Testing for development"
},
"typeVersion": 1
},
{
"id": "311a75d6-4fbe-4d8f-89b3-d4b0ee21f7ae",
"name": "Adobe API 쿼리",
"type": "n8n-nodes-base.set",
"position": [
900,
1000
],
"parameters": {
"options": {},
"assignments": {
"assignments": [
{
"id": "62bb6466-acf4-41e5-9444-c9ef608a6822",
"name": "endpoint",
"type": "string",
"value": "extractpdf"
},
{
"id": "0352f585-1434-4ab7-a704-a1e187fffa96",
"name": "json_payload",
"type": "object",
"value": "={{ \n{\n \"renditionsToExtract\": [\n \"tables\"\n ],\n \"elementsToExtract\": [\n \"text\",\n \"tables\"\n ]\n }\n}}"
}
]
}
},
"typeVersion": 3.4
},
{
"id": "abf20778-db50-4787-a5f4-7af5d5c76efe",
"name": "테스트 PDF 파일 로드",
"type": "n8n-nodes-base.dropbox",
"position": [
900,
1180
],
"parameters": {
"path": "/valerian/w/prod/_freelance/ADEZIF/AI/Source data/Brochures pour GPT/Brochure 3M/3M_doc_emballage VERSION FINALE.pdf",
"operation": "download",
"authentication": "oAuth2"
},
"credentials": {
"dropboxOAuth2Api": {
"id": "9",
"name": "Dropbox account"
}
},
"typeVersion": 1
},
{
"id": "8bb2ae0c-df61-4110-af44-b1040b4340a2",
"name": "쿼리 + 파일",
"type": "n8n-nodes-base.merge",
"position": [
1180,
1080
],
"parameters": {
"mode": "combine",
"options": {},
"combinationMode": "mergeByPosition"
},
"typeVersion": 2.1
},
{
"id": "92afa6d6-daf8-4358-8c95-36473b810dc2",
"name": "쿼리 + 파일 + 에셋 정보",
"type": "n8n-nodes-base.merge",
"position": [
2180,
580
],
"parameters": {
"mode": "combine",
"options": {},
"combinationMode": "mergeByPosition"
},
"typeVersion": 2.1
},
{
"id": "5d88b8e4-0b0a-463a-88db-c45d5e87e823",
"name": "쿼리 처리",
"type": "n8n-nodes-base.httpRequest",
"position": [
2640,
580
],
"parameters": {
"url": "=https://pdf-services.adobe.io/operation/{{ $('Query + File + Asset information').item.json.endpoint }}",
"method": "POST",
"options": {
"redirect": {
"redirect": {}
},
"response": {
"response": {
"fullResponse": true
}
}
},
"jsonBody": "={{ \n{\n...{ \"assetID\":$('Query + File + Asset information').first().json.assetID },\n...$('Query + File + Asset information').first().json.json_payload\n}\n}}",
"sendBody": true,
"sendHeaders": true,
"specifyBody": "json",
"authentication": "genericCredentialType",
"genericAuthType": "httpHeaderAuth",
"headerParameters": {
"parameters": [
{
"name": "Authorization",
"value": "=Bearer {{ $('Authenticartion (get token)').first().json[\"access_token\"] }}"
}
]
}
},
"credentials": {
"httpHeaderAuth": {
"id": "PU8GmSwXswwM1Fzq",
"name": "Adobe API calls"
}
},
"typeVersion": 4.1
},
{
"id": "47278b2f-dd04-4609-90ab-52f34b9a0e72",
"name": "5초 대기",
"type": "n8n-nodes-base.wait",
"position": [
2860,
580
],
"webhookId": "ed00a9a8-d599-4a98-86f8-a15176352c0a",
"parameters": {
"unit": "seconds",
"amount": 5
},
"typeVersion": 1
},
{
"id": "691b52ae-132a-4105-b1e4-bb7d55d0e347",
"name": "결과 다운로드 시도",
"type": "n8n-nodes-base.httpRequest",
"position": [
3080,
580
],
"parameters": {
"url": "={{ $('Process Query').item.json[\"headers\"][\"location\"] }}",
"options": {},
"sendHeaders": true,
"authentication": "genericCredentialType",
"genericAuthType": "httpHeaderAuth",
"headerParameters": {
"parameters": [
{
"name": "Authorization",
"value": "=Bearer {{ $('Authenticartion (get token)').first().json[\"access_token\"] }}"
}
]
}
},
"credentials": {
"httpHeaderAuth": {
"id": "PU8GmSwXswwM1Fzq",
"name": "Adobe API calls"
}
},
"typeVersion": 4.1
},
{
"id": "277dea14-de8d-4719-aff1-f4008d6d5c67",
"name": "스위치",
"type": "n8n-nodes-base.switch",
"position": [
3260,
580
],
"parameters": {
"rules": {
"values": [
{
"outputKey": "in progress",
"conditions": {
"options": {
"leftValue": "",
"caseSensitive": true,
"typeValidation": "strict"
},
"combinator": "and",
"conditions": [
{
"operator": {
"type": "string",
"operation": "equals"
},
"leftValue": "={{ $json.status }}",
"rightValue": "in progress"
}
]
},
"renameOutput": true
},
{
"outputKey": "failed",
"conditions": {
"options": {
"leftValue": "",
"caseSensitive": true,
"typeValidation": "strict"
},
"combinator": "and",
"conditions": [
{
"id": "6d6917f6-abb9-4175-a070-a2f500d9f34f",
"operator": {
"name": "filter.operator.equals",
"type": "string",
"operation": "equals"
},
"leftValue": "={{ $json.status }}",
"rightValue": "failed"
}
]
},
"renameOutput": true
}
]
},
"options": {
"fallbackOutput": "extra"
}
},
"typeVersion": 3
},
{
"id": "8f6f8273-43ed-4a44-bb27-6ce137000472",
"name": "원본 워크플로로 응답 전달",
"type": "n8n-nodes-base.set",
"position": [
3820,
600
],
"parameters": {
"options": {},
"assignments": {
"assignments": []
},
"includeOtherFields": true
},
"typeVersion": 3.4
},
{
"id": "00e2d7e3-94cd-49e5-a975-2fdc1a7a95fd",
"name": "스티커 메모2",
"type": "n8n-nodes-base.stickyNote",
"position": [
2780,
480
],
"parameters": {
"width": 741.3069226712129,
"height": 336.57433650102917,
"content": "## Wait for file do be processed"
},
"typeVersion": 1
},
{
"id": "3667b1ba-b9a6-4e1a-94b1-61b37f1e7adc",
"name": "스티커 메모3",
"type": "n8n-nodes-base.stickyNote",
"position": [
1324.6733934850213,
147.59707015795897
],
"parameters": {
"color": 5,
"width": 402.63171535688423,
"height": 700.9473619571734,
"content": "### 1- Credential for token request\n\nCreate a \"Custom Auth\" credential like this :\n\n```\n{\n \"headers\": {\n \"Content-Type\":\"application/x-www-form-urlencoded\"\n }, \n \"body\" : {\n \"client_id\": \"****\", \n \"client_secret\":\"****\"\n }\n}\n```"
},
"typeVersion": 1
},
{
"id": "718bb738-8ce4-4b38-94e4-6ccac1adf9ec",
"name": "스티커 메모4",
"type": "n8n-nodes-base.stickyNote",
"position": [
1800,
152.6219700851708
],
"parameters": {
"color": 5,
"width": 1752.5923360342827,
"height": 692.0175575715904,
"content": "### 2- Credential for all other Queries\n\nCreate a \"Header Auth\" credential like this : \n\n```\nX-API-Key: **** (same value as client_id)\n```"
},
"typeVersion": 1
},
{
"id": "d6bc8011-699d-4388-82f5-e5f90ba8672a",
"name": "스티커 메모5",
"type": "n8n-nodes-base.stickyNote",
"position": [
740,
140
],
"parameters": {
"color": 5,
"width": 529.7500231395039,
"height": 718.8735380890446,
"content": "## Workflow Input\n\n- endpoint: splitpdf, extractpdf, ...\n- json_payload : all endpoint payload except assetID which is handled in current workflow\n- **PDF Data as n8n Binary**\n\n\n### Example for **split** : \n\n```\n{\n \"endpoint\": \"splitpdf\",\n \"json_payload\": {\n \"splitoption\": \n { \"pageRanges\": [{\"start\": 1,\"end\": 2}]}\n }\n }\n}\n```\n\n### Example for **extractpdf**\n\n```\n{\n \"endpoint\": \"splitpdf\",\n \"json_payload\": {\n \"renditionsToExtract\": [\n \"tables\"\n ],\n \"elementsToExtract\": [\n \"text\",\n \"tables\"\n ]\n }\n}\n```"
},
"typeVersion": 1
},
{
"id": "2bbf6d9d-8399-49ba-94ea-b90795ef44ba",
"name": "인증 (토큰 획득)",
"type": "n8n-nodes-base.httpRequest",
"position": [
1500,
580
],
"parameters": {
"url": "https://pdf-services.adobe.io/token",
"method": "POST",
"options": {},
"sendBody": true,
"contentType": "form-urlencoded",
"authentication": "genericCredentialType",
"bodyParameters": {
"parameters": [
{}
]
},
"genericAuthType": "httpCustomAuth"
},
"credentials": {
"httpCustomAuth": {
"id": "djeOoXpBafK4aiGX",
"name": "Adobe API"
}
},
"typeVersion": 4.1
},
{
"id": "be4e87e8-6e56-408f-b932-320023382f98",
"name": "PDF 파일 업로드 (에셋)",
"type": "n8n-nodes-base.httpRequest",
"position": [
2440,
580
],
"parameters": {
"url": "={{ $json.uploadUri }}",
"method": "PUT",
"options": {
"redirect": {
"redirect": {}
}
},
"sendBody": true,
"sendQuery": true,
"contentType": "binaryData",
"queryParameters": {
"parameters": [
{}
]
},
"inputDataFieldName": "data"
},
"typeVersion": 4.1
}
],
"pinData": {},
"connections": {
"277dea14-de8d-4719-aff1-f4008d6d5c67": {
"main": [
[
{
"node": "47278b2f-dd04-4609-90ab-52f34b9a0e72",
"type": "main",
"index": 0
}
],
[
{
"node": "8f6f8273-43ed-4a44-bb27-6ce137000472",
"type": "main",
"index": 0
}
],
[
{
"node": "8f6f8273-43ed-4a44-bb27-6ce137000472",
"type": "main",
"index": 0
}
]
]
},
"d6b1c410-81c3-486d-bdcb-86a4c6f7bf9e": {
"main": [
[
{
"node": "92afa6d6-daf8-4358-8c95-36473b810dc2",
"type": "main",
"index": 1
}
]
]
},
"8bb2ae0c-df61-4110-af44-b1040b4340a2": {
"main": [
[
{
"node": "2bbf6d9d-8399-49ba-94ea-b90795ef44ba",
"type": "main",
"index": 0
},
{
"node": "92afa6d6-daf8-4358-8c95-36473b810dc2",
"type": "main",
"index": 0
}
]
]
},
"5d88b8e4-0b0a-463a-88db-c45d5e87e823": {
"main": [
[
{
"node": "47278b2f-dd04-4609-90ab-52f34b9a0e72",
"type": "main",
"index": 0
}
]
]
},
"47278b2f-dd04-4609-90ab-52f34b9a0e72": {
"main": [
[
{
"node": "691b52ae-132a-4105-b1e4-bb7d55d0e347",
"type": "main",
"index": 0
}
]
]
},
"311a75d6-4fbe-4d8f-89b3-d4b0ee21f7ae": {
"main": [
[
{
"node": "8bb2ae0c-df61-4110-af44-b1040b4340a2",
"type": "main",
"index": 0
}
]
]
},
"abf20778-db50-4787-a5f4-7af5d5c76efe": {
"main": [
[
{
"node": "8bb2ae0c-df61-4110-af44-b1040b4340a2",
"type": "main",
"index": 1
}
]
]
},
"be4e87e8-6e56-408f-b932-320023382f98": {
"main": [
[
{
"node": "5d88b8e4-0b0a-463a-88db-c45d5e87e823",
"type": "main",
"index": 0
}
]
]
},
"9e900a45-d792-4dc5-938c-0d5cdfd2e647": {
"main": [
[
{
"node": "2bbf6d9d-8399-49ba-94ea-b90795ef44ba",
"type": "main",
"index": 0
},
{
"node": "92afa6d6-daf8-4358-8c95-36473b810dc2",
"type": "main",
"index": 0
}
]
]
},
"691b52ae-132a-4105-b1e4-bb7d55d0e347": {
"main": [
[
{
"node": "277dea14-de8d-4719-aff1-f4008d6d5c67",
"type": "main",
"index": 0
}
]
]
},
"2bbf6d9d-8399-49ba-94ea-b90795ef44ba": {
"main": [
[
{
"node": "d6b1c410-81c3-486d-bdcb-86a4c6f7bf9e",
"type": "main",
"index": 0
}
]
]
},
"92afa6d6-daf8-4358-8c95-36473b810dc2": {
"main": [
[
{
"node": "be4e87e8-6e56-408f-b932-320023382f98",
"type": "main",
"index": 0
}
]
]
},
"f4b1bdd8-654d-4643-a004-ff1b2f32b5ae": {
"main": [
[
{
"node": "abf20778-db50-4787-a5f4-7af5d5c76efe",
"type": "main",
"index": 0
},
{
"node": "311a75d6-4fbe-4d8f-89b3-d4b0ee21f7ae",
"type": "main",
"index": 0
}
]
]
}
}
}자주 묻는 질문
이 워크플로우를 어떻게 사용하나요?
위의 JSON 구성 코드를 복사하여 n8n 인스턴스에서 새 워크플로우를 생성하고 "JSON에서 가져오기"를 선택한 후, 구성을 붙여넣고 필요에 따라 인증 설정을 수정하세요.
이 워크플로우는 어떤 시나리오에 적합한가요?
고급 - 빌딩 블록, 인공지능
유료인가요?
이 워크플로우는 완전히 무료이며 직접 가져와 사용할 수 있습니다. 다만, 워크플로우에서 사용하는 타사 서비스(예: OpenAI API)는 사용자 직접 비용을 지불해야 할 수 있습니다.
관련 워크플로우 추천
Anthropic Claude API를 사용하여 대량으로 튜토리얼 처리
Anthropic Claude API를 사용하여 배치로 튜토리얼 처리
If
Set
Code
+
If
Set
Code
39 노드Greg Evseev
빌딩 블록
빌드 커스텀 Qdrant 벡터 스토리지 MCP 서버
개별 Qdrant 벡터 스토리지 MCP 서버 구축
If
Set
Code
+
If
Set
Code
44 노드Jimleuk
빌딩 블록
AI 스마트 어시스턴트: Supabase 스토리지 및 Google Drive 파일과 대화
AI스마트어시스턴트:与Supabase存储및Google Drive文件对话
If
Set
Wait
+
If
Set
Wait
62 노드Mark Shcherbakov
엔지니어링
## 🤖 **LIGUA033/LOREALCANTARA - 其他생성워크플로우**
基于AI의Meta广告분석与생성:사용Gemini、GPT-4.1 Mini및广告관리器
If
Set
Wait
+
If
Set
Wait
61 노드Daniel Setzermann
인공지능
API 아키텍처 추출기
API 아키텍처 추출기
If
Set
Code
+
If
Set
Code
88 노드Polina Medvedieva
엔지니어링
Qdrant, Mistral.ai, OpenAI를 사용하여 세금 법률 어시스턴트를 구축합니다.
Qdrant, Mistral.ai, OpenAI를 사용하여 세금 법률 어시스턴트를 구축합니다.
Set
Wait
Filter
+
Set
Wait
Filter
38 노드Jimleuk
금융