Automatisation Google Drive avec n8n : traduction de documents PDF
Ce workflow n8n a pour objectif d'automatiser la traduction de documents PDF stockés sur Google Drive. Dans un contexte professionnel où la gestion de documents multilingues est essentielle, ce processus permet de gagner du temps et d'éviter les erreurs humaines lors de la traduction manuelle. Les utilisateurs peuvent ainsi se concentrer sur des tâches à plus forte valeur ajoutée tout en s'assurant que leurs documents sont traduits de manière efficace et précise.
- Étape 1 : le workflow commence par un déclencheur manuel qui permet à l'utilisateur de lancer le processus à tout moment.
- Étape 2 : il récupère les fichiers d'un dossier spécifique sur Google Drive, en filtrant uniquement les documents PDF grâce à un nœud de filtrage.
- Étape 3 : les fichiers sont ensuite téléchargés pour être traduits.
- Étape 4 : une requête HTTP est envoyée pour demander la traduction, suivie d'une vérification de l'état de la traduction. Si la traduction est terminée, le document traduit est récupéré et téléchargé dans le dossier d'origine sur Google Drive. Ce workflow offre des bénéfices significatifs en termes de productivité et de réduction des erreurs, permettant aux entreprises de gérer plus efficacement leurs documents multilingues.
Workflow n8n Google Drive, traduction, documents PDF : vue d'ensemble
Schéma des nœuds et connexions de ce workflow n8n, généré à partir du JSON n8n.
Workflow n8n Google Drive, traduction, documents PDF : détail des nœuds
Inscris-toi pour voir l'intégralité du workflow
Inscription gratuite
S'inscrire gratuitementBesoin d'aide ?{
"nodes": [
{
"id": "fdb7302d-9319-4861-abab-557a3c1f1493",
"name": "Sticky Note",
"type": "n8n-nodes-base.stickyNote",
"position": [
2660,
340
],
"parameters": {
"color": 7,
"width": 288.76295784381495,
"height": 795.272978576365,
"content": "### Available source and target languages`*`:\n\n`BG` - 🇧🇬 Bulgarian\n`CS` - 🇨🇿 Czech\n`DA` - 🇩🇰 Danish\n`DE` - 🇩🇪 German\n`EL` - 🇬🇷 Greek\n`EN-GB` - 🇬🇧 English (British)\n`EN-US` - 🇺🇸 English (American)\n`ES` - 🇪🇸 Spanish\n`ET` - 🇪🇪 Estonian\n`FI` - 🇫🇮 Finnish\n`FR` - 🇫🇷 French\n`HU` - 🇭🇺 Hungarian\n`ID` - 🇮🇩 Indonesian\n`IT` - 🇮🇹 Italian\n`JA` - 🇯🇵 Japanese\n`KO` - 🇰🇷 Korean\n`LT` - 🇱🇹 Lithuanian\n`LV` - 🇱🇻 Latvian\n`NB` - 🇳🇴 Norwegian (Bokmål)\n`NL` - 🇳🇱 Dutch\n`PL` - 🇵🇱 Polish\n`PT-BR` - 🇧🇷 Portuguese (Brazilian)\n`PT-PT` - 🇵🇹 Portuguese\n`RO` - 🇷🇴 Romanian\n`RU` - 🇷🇺 Russian\n`SK` - 🇸🇰 Slovak\n`SL` - 🇸🇮 Slovenian\n`SV` - 🇸🇪 Swedish\n`TR` - 🇹🇷 Turkish\n`UK` - 🇺🇦 Ukrainian\n`ZH` - 🇨🇳 Chinese (simplified)\n\n`*` For more up-to-date list, please consult the official DeepL [API documentation](https://www.deepl.com/docs-api/documents/translate-document)"
},
"typeVersion": 1
},
{
"id": "9cad538a-0efb-4186-b588-ef4d764fdf4e",
"name": "Run manually",
"type": "n8n-nodes-base.manualTrigger",
"position": [
1100,
560
],
"parameters": {},
"typeVersion": 1
},
{
"id": "242d4895-5b02-46b8-9c87-07fd2e11c9ba",
"name": "Get files from specified folder",
"type": "n8n-nodes-base.googleDrive",
"position": [
1780,
560
],
"parameters": {
"filter": {
"folderId": {
"__rl": true,
"mode": "url",
"value": "={{ $json.folder_url }}"
},
"whatToSearch": "files"
},
"options": {
"fields": [
"kind",
"id",
"name",
"mimeType"
]
},
"resource": "fileFolder"
},
"credentials": {
"googleDriveOAuth2Api": {
"id": "6q7v3i91ZDHQOKx3",
"name": "Google Drive account"
}
},
"typeVersion": 3
},
{
"id": "1660cf85-af39-4d70-a997-5f4ef2252370",
"name": "Use only PDF documents",
"type": "n8n-nodes-base.filter",
"position": [
2000,
560
],
"parameters": {
"options": {},
"conditions": {
"options": {
"leftValue": "",
"caseSensitive": true,
"typeValidation": "strict"
},
"combinator": "and",
"conditions": [
{
"id": "098535fe-164e-4f58-9b35-0628b51ac5d0",
"operator": {
"type": "string",
"operation": "endsWith"
},
"leftValue": "={{ $json.name }}",
"rightValue": ".pdf"
},
{
"id": "a0bb0e8c-25e9-4ee0-a1fd-2d98a7328111",
"operator": {
"type": "string",
"operation": "notContains"
},
"leftValue": "={{ $json.name }}",
"rightValue": "=-{{ $('⚙️ config').first().json.target_lang }}"
}
]
}
},
"typeVersion": 2
},
{
"id": "b7cc611e-81a3-4468-bcab-ca6de564fbeb",
"name": "Download files",
"type": "n8n-nodes-base.googleDrive",
"position": [
2220,
560
],
"parameters": {
"fileId": {
"__rl": true,
"mode": "id",
"value": "={{ $json.id }}"
},
"options": {},
"operation": "download"
},
"credentials": {
"googleDriveOAuth2Api": {
"id": "6q7v3i91ZDHQOKx3",
"name": "Google Drive account"
}
},
"executeOnce": false,
"typeVersion": 3
},
{
"id": "f6e2c1e6-b68d-47b3-8582-7772f8b1ee95",
"name": "Send translate request",
"type": "n8n-nodes-base.httpRequest",
"position": [
2440,
560
],
"parameters": {
"url": "https://api.deepl.com/v2/document",
"method": "POST",
"options": {},
"sendBody": true,
"contentType": "multipart-form-data",
"authentication": "genericCredentialType",
"bodyParameters": {
"parameters": [
{
"name": "target_lang",
"value": "={{ $('⚙️ config').first().json.target_lang }}"
},
{
"name": "file",
"parameterType": "formBinaryData",
"inputDataFieldName": "data"
},
{
"name": "source_lang",
"value": "={{ $('⚙️ config').first().json.source_lang }}"
}
]
},
"genericAuthType": "httpHeaderAuth"
},
"credentials": {
"httpHeaderAuth": {
"id": "NcB0kuT7IJgHvWlC",
"name": "Deepl API Header auth"
}
},
"typeVersion": 4.1
},
{
"id": "9fab53d1-dfa8-4b27-892f-884853df1e50",
"name": "Check translation status",
"type": "n8n-nodes-base.httpRequest",
"position": [
1320,
820
],
"parameters": {
"url": "=https://api.deepl.com/v2/document/{{ $json.document_id }}",
"method": "POST",
"options": {},
"sendBody": true,
"authentication": "genericCredentialType",
"bodyParameters": {
"parameters": [
{
"name": "document_key",
"value": "={{ $('Send translate request').item.json.document_key }}"
}
]
},
"genericAuthType": "httpHeaderAuth"
},
"credentials": {
"httpHeaderAuth": {
"id": "NcB0kuT7IJgHvWlC",
"name": "Deepl API Header auth"
}
},
"typeVersion": 4.1
},
{
"id": "9d320d4c-8398-4af4-8582-bc60ca52b986",
"name": "Wait a bit",
"type": "n8n-nodes-base.wait",
"position": [
1540,
820
],
"webhookId": "9fd126e3-203c-4f11-ad50-d00ff55301a2",
"parameters": {
"unit": "seconds",
"amount": 5
},
"typeVersion": 1
},
{
"id": "657758b1-a5f5-4b0b-bdd0-ef0cdb518863",
"name": "file translated?",
"type": "n8n-nodes-base.if",
"position": [
1760,
820
],
"parameters": {
"options": {},
"conditions": {
"options": {
"leftValue": "",
"caseSensitive": true,
"typeValidation": "strict"
},
"combinator": "and",
"conditions": [
{
"id": "1a7ad415-3d30-4d51-b31e-7a0911391d21",
"operator": {
"name": "filter.operator.equals",
"type": "string",
"operation": "equals"
},
"leftValue": "={{ $json.status }}",
"rightValue": "done"
}
]
}
},
"typeVersion": 2
},
{
"id": "2018d45b-8922-4a9c-884b-27cc6903d464",
"name": "Wait between documents",
"type": "n8n-nodes-base.wait",
"position": [
2000,
800
],
"webhookId": "877870bc-5b29-4ce0-82d6-3202d43e89fd",
"parameters": {
"unit": "seconds",
"amount": 2
},
"typeVersion": 1
},
{
"id": "717972fe-45fa-4bd4-acf9-9db2efb45c12",
"name": "Get translated document from deepL",
"type": "n8n-nodes-base.httpRequest",
"position": [
2240,
800
],
"parameters": {
"url": "=https://api.deepl.com/v2/document/{{ $json.document_id }}/result",
"method": "POST",
"options": {
"timeout": 30000
},
"sendBody": true,
"authentication": "genericCredentialType",
"bodyParameters": {
"parameters": [
{
"name": "document_key",
"value": "={{ $('Send translate request').item.json.document_key }}"
}
]
},
"genericAuthType": "httpHeaderAuth"
},
"credentials": {
"httpHeaderAuth": {
"id": "NcB0kuT7IJgHvWlC",
"name": "Deepl API Header auth"
}
},
"typeVersion": 4.1
},
{
"id": "c9e9b000-8202-410d-9630-b08481ba4e39",
"name": "Uplad to original folder",
"type": "n8n-nodes-base.googleDrive",
"position": [
2460,
800
],
"parameters": {
"name": "={{ $('Download files').item.json.name.replace('.pdf', '--' + $('⚙️ config').first().json.target_lang) + '.pdf' }}",
"driveId": {
"__rl": true,
"mode": "list",
"value": "My Drive"
},
"options": {},
"folderId": {
"__rl": true,
"mode": "url",
"value": "={{ $('⚙️ config').first().json.folder_url }}"
}
},
"credentials": {
"googleDriveOAuth2Api": {
"id": "6q7v3i91ZDHQOKx3",
"name": "Google Drive account"
}
},
"executeOnce": false,
"typeVersion": 3
},
{
"id": "698a33ce-8b33-4b33-8236-190b1013cb0d",
"name": "⚙️ config",
"type": "n8n-nodes-base.set",
"position": [
1440,
560
],
"parameters": {
"fields": {
"values": [
{
"name": "target_lang"
},
{
"name": "source_lang"
},
{
"name": "folder_url"
}
]
},
"options": {}
},
"typeVersion": 3.2
},
{
"id": "aeee03fa-f4a6-48fd-b3ca-ff6a6dc20fb4",
"name": "Sticky Note1",
"type": "n8n-nodes-base.stickyNote",
"position": [
1280,
367.395398150649
],
"parameters": {
"color": 5,
"width": 444.71526152412946,
"height": 343.02803459456237,
"content": "### Configure your workflow here by setting these parameters:\n- `folder_url`: URL of your google drive folder\n- `target_lang`: The language into which the text should be translated\n- `source_lang`: Language of the text to be translated (optional, if not specified DeepL will try to auto-detect the source language)"
},
"typeVersion": 1
}
],
"pinData": {},
"connections": {
"Wait a bit": {
"main": [
[
{
"node": "file translated?",
"type": "main",
"index": 0
}
]
]
},
"Run manually": {
"main": [
[
{
"node": "⚙️ config",
"type": "main",
"index": 0
}
]
]
},
"⚙️ config": {
"main": [
[
{
"node": "Get files from specified folder",
"type": "main",
"index": 0
}
]
]
},
"Download files": {
"main": [
[
{
"node": "Send translate request",
"type": "main",
"index": 0
}
]
]
},
"file translated?": {
"main": [
[
{
"node": "Wait between documents",
"type": "main",
"index": 0
}
],
[
{
"node": "Check translation status",
"type": "main",
"index": 0
}
]
]
},
"Send translate request": {
"main": [
[
{
"node": "Check translation status",
"type": "main",
"index": 0
}
]
]
},
"Use only PDF documents": {
"main": [
[
{
"node": "Download files",
"type": "main",
"index": 0
}
]
]
},
"Wait between documents": {
"main": [
[
{
"node": "Get translated document from deepL",
"type": "main",
"index": 0
}
]
]
},
"Check translation status": {
"main": [
[
{
"node": "Wait a bit",
"type": "main",
"index": 0
}
]
]
},
"Get files from specified folder": {
"main": [
[
{
"node": "Use only PDF documents",
"type": "main",
"index": 0
}
]
]
},
"Get translated document from deepL": {
"main": [
[
{
"node": "Uplad to original folder",
"type": "main",
"index": 0
}
]
]
}
}
}Workflow n8n Google Drive, traduction, documents PDF : pour qui est ce workflow ?
Ce workflow s'adresse aux entreprises et équipes qui gèrent régulièrement des documents en plusieurs langues, notamment dans les secteurs de la traduction, de l'édition et du marketing. Les utilisateurs n'ont pas besoin d'un niveau technique avancé pour mettre en place cette automatisation n8n.
Workflow n8n Google Drive, traduction, documents PDF : problème résolu
Ce workflow résout le problème de la gestion manuelle des traductions de documents PDF, qui peut être long et sujet à des erreurs. En automatisant ce processus, les utilisateurs éliminent les frustrations liées à la recherche et à la traduction manuelle, réduisant ainsi le temps consacré à ces tâches. À la fin du processus, les utilisateurs obtiennent des documents traduits de manière fiable et rapide, améliorant ainsi leur efficacité opérationnelle.
Workflow n8n Google Drive, traduction, documents PDF : étapes du workflow
Étape 1 : le workflow est déclenché manuellement.
- Étape 1 : il récupère les fichiers d'un dossier spécifique sur Google Drive.
- Étape 2 : un filtre est appliqué pour ne conserver que les documents PDF.
- Étape 3 : les fichiers sont téléchargés pour être traduits.
- Étape 4 : une requête HTTP est envoyée pour demander la traduction.
- Étape 5 : le workflow attend la confirmation de l'état de la traduction.
- Étape 6 : si la traduction est terminée, le document traduit est récupéré.
- Étape 7 : enfin, le document traduit est téléchargé dans le dossier d'origine sur Google Drive.
Workflow n8n Google Drive, traduction, documents PDF : guide de personnalisation
Pour personnaliser ce workflow, vous pouvez modifier l'URL de la requête HTTP pour l'adapter à votre service de traduction préféré. Assurez-vous également de spécifier le bon dossier Google Drive dans le nœud de récupération des fichiers. Si vous souhaitez ajouter d'autres types de fichiers, ajustez le filtre en conséquence. Pensez à sécuriser votre workflow en intégrant des authentifications appropriées pour les services utilisés. Enfin, vous pouvez ajuster les temps d'attente entre les traductions pour optimiser le flux selon vos besoins.