Dokumente übersetzen

Cloud Translation Advanced bietet eine Document Translation API, mit der Sie formatierte Dokumente wie PDF und DOCX direkt übersetzen können. Im Vergleich zu reinen Textübersetzungen bleiben damit Originalformatierung und -layout Ihrer übersetzten Dokumente erhalten, sodass ein Großteil der ursprünglichen Struktur wie Absatzumbrüche beibehalten wird.

In den folgenden Abschnitten wird gezeigt, wie Sie Dokumente übersetzen und Document Translation mit anderen Features von Cloud Translation Advanced wie Glossare und AutoML Translation-Modelle verwenden. Document Translation unterstützt sowohl Online- als auch Batchübersetzungsanfragen.

Nur-Text- und HTML-Übersetzungen finden Sie unter Text übersetzen.

Unterstützte Dateiformate

Document Translation unterstützt die folgenden Eingabedateitypen und die zugehörigen Ausgabedateitypen.

Eingaben MIME-Typ für das Dokument Ausgabe
DOC* application/msword DOC, DOCX
DOCX* application/vnd.openxmlformats-officedocument.wordprocessingml.document DOCX
PDF application/pdf PDF, DOCX
PPT application/vnd.ms-powerpoint PPT, PPTX
PPTX application/vnd.openxmlformats-officedocument.presentationml.presentation PPTX
XLS application/vnd.ms-excel XLS, XLSX
XLSX application/vnd.openxmlformats-officedocument.spreadsheetml.sheet XLSX

*Inhalte in Textfeldern werden nicht übersetzt und verbleiben in der Ausgangssprache.

Document Translation unterstützt sowohl native als auch gescannte PDF-Dokumente, wobei es gewisse Unterschiede gibt. Verwenden Sie für eine optimale Umsetzung des Formats nach Möglichkeit native PDF-Dateien. Die Übersetzung gescannter PDF-Dateien führt zu einem gewissen Verlust an Formatierungselementen. Komplexe PDF-Layouts können ebenfalls zu Formatierungsverlusten führen, beispielsweise bei der Verwendung von Datentabellen, mehrspaltigen Layouts und Grafiken mit Labels oder Legenden.

Wenn Sie PDF-Inhalte im DOCX- oder PPTX-Format haben, empfehlen wir, die Inhalte in diesen Formaten zu übersetzen, bevor Sie sie in PDFs konvertieren. Im Allgemeinen übernimmt Document Translation das Layout und den Stil von DOCX- und PPTX-Dateien eines Dokuments originalgetreuer bei als PDF-Dateien. Nach der Übersetzung eines Dokuments können Sie die Ergebnisse in PDF-Dateien konvertieren.

Übersetzung nativer und gescannter PDF-Dokumente

Document Translation unterstützt sowohl native als auch gescannte PDF-Dateien, einschließlich Übersetzungen in oder aus linksläufigen Sprachen bzw. Schriften. Eine Unterstützung der Konvertierung vom PDF- in das DOCX-Format ist nur für Batchdokumentübersetzungen von nativen PDF-Dateien verfügbar. Außerdem erhält Document Translation Hyperlinks, Schriftgröße und Schriftfarbe nur für native PDF-Dateien (für synchrone und für Batch-Übersetzungen).

Hinweise

Für die Verwendung der Cloud Translation API benötigen Sie ein Projekt, für das die Cloud Translation API aktiviert ist. Außerdem benötigen Sie die entsprechenden Anmeldedaten. Sie können auch Clientbibliotheken für gängige Programmiersprachen installieren, um Aufrufe an die API zu ermöglichen. Weitere Informationen dazu finden Sie auf der Seite Einrichtung.

Erforderliche Berechtigungen

Für Anfragen, die Cloud Storage-Zugriff erfordern, z. B. für die Batchübersetzung mit Document Translation, benötigen Sie möglicherweise Cloud Storage-Berechtigungen zum Lesen von Eingabedateien oder zum Senden von Ausgabedateien an einen Bucket. Damit Sie beispielsweise Eingabedateien aus einem Bucket lesen können, sind für den Bucket mindestens Berechtigungen für das Lesen von Objekten (durch die Rolle roles/storage.objectViewer) erforderlich. Weitere Informationen zu Cloud Storage-Rollen finden Sie in der Dokumentation zu Cloud Storage.

Dokumente übersetzen (online)

Die Onlineübersetzung ermöglicht die Echtzeitverarbeitung (synchrone Verarbeitung) einer einzelnen Datei.

PDF-Dateien können bis zu 20 MB groß sein und bis zu 300 Seiten bei nativen PDFs enthalten. Das Feld isTranslateNativePdfOnly muss dafür true lauten. Wenn Sie das Feld enableShadowRemovalNativePdf aktivieren, beträgt die Beschränkung 20 Seiten. Bei gescannten PDFs beträgt das Limit 20 Seiten.

Bei anderen Dokumenttypen können die Dateien bis zu 20 MB ohne Seitenbeschränkung groß sein.

Dokument aus Cloud Storage übersetzen

Im folgenden Beispiel wird eine Datei aus einem Cloud Storage-Bucket übersetzt und das Ergebnis in einen Cloud Storage-Bucket ausgegeben. Die Antwort gibt auch einen Bytestream zurück. Sie können dabei den MIME-Typ angeben. Ohne diese Angabe wird er von Document Translation anhand der Erweiterung der Eingabedatei ermittelt.

Hinweis: Wenn Sie keinen Ausgangssprachcode angeben, ermittelt Document Translation die Sprache automatisch. Die ermittelte Sprache ist in der Ausgabe im Feld detectedLanguageCode enthalten.

REST

Ersetzen Sie diese Werte in den folgenden Anfragedaten:

  • PROJECT_NUMBER_OR_ID: Die numerische oder alphanumerische ID Ihres Google Cloud-Projekts.
  • LOCATION: die Region, in der Sie diesen Vorgang ausführen möchten. Beispiel: us-central1
  • SOURCE_LANGUAGE: (Optional) der Sprachcode des Eingabedokuments. Legen Sie gegebenenfalls einen der unter Sprachunterstützung aufgeführten Sprachcodes fest.
  • TARGET_LANGUAGE: die Zielsprache, in die das Eingabedokument übersetzt werden soll. Legen Sie einen der unter Sprachunterstützung aufgeführten Sprachcodes fest.
  • INPUT_FILE_PATH: der Cloud Storage-Speicherort und der Dateiname des Eingabedokuments.
  • OUTPUT_FILE_PREFIX: der Cloud Storage-Speicherort, an dem das Ausgabedokument gespeichert werden soll.
  • IS_NATIVE: (Optional) Bei nativen PDF-Dokumenten ein boolescher Wert, der angibt, ob Ihre Anfrage das native oder gescannte PDF-Seitenlimit verwendet. Bei "true" wird das Seitenlimit für native PDF-Dokumente auf 300 Seiten erhöht. Bei "false" oder "nicht angegeben" wird das Limit für gescannte PDF-Seiten verwendet (20 Seiten).

HTTP-Methode und URL:

POST https://translation.googleapis.com/v3/projects/PROJECT_NUMBER_OR_ID/locations/LOCATION:translateDocument

JSON-Text anfordern:

{
  "source_language_code": "SOURCE_LANGUAGE",
  "target_language_code": "TARGET_LANGUAGE",
  "document_input_config": {
    "gcsSource": {
      "inputUri": "gs://INPUT_FILE_PATH"
    }
  },
  "document_output_config": {
    "gcsDestination": {
      "outputUriPrefix": "gs://OUTPUT_FILE_PREFIX"
    }
  },
  "isTranslateNativePdfOnly": IS_NATIVE
}

Wenn Sie die Anfrage senden möchten, maximieren Sie eine der folgenden Optionen:

Sie sollten eine JSON-Antwort ähnlich wie diese erhalten:

{
  "documentTranslation": {
    "byteStreamOutputs": ["BYTE_STREAM"],
    "mimeType": "MIME_TYPE"
  },
  "model": "projects/PROJECT_NUMBER/locations/LOCATION/models/general/nmt"
}

Node.js

Folgen Sie der Einrichtungsanleitung für Node.js in der Cloud Translation-Kurzanleitung zur Verwendung von Clientbibliotheken, bevor Sie dieses Beispiel anwenden. Weitere Informationen finden Sie in der Referenzdokumentation zu Cloud Translation Node.js API.

Richten Sie die Standardanmeldedaten für Anwendungen ein, um sich bei Cloud Translation zu authentifizieren. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.

/**
 * TODO(developer): Uncomment these variables before running the sample.
 */
// const projectId = 'YOUR_PROJECT_ID';
// const location = 'global';
// const inputUri = 'path_to_your_file';

// Imports the Google Cloud Translation library
const {TranslationServiceClient} = require('@google-cloud/translate').v3beta1;

// Instantiates a client
const translationClient = new TranslationServiceClient();

const documentInputConfig = {
  gcsSource: {
    inputUri: inputUri,
  },
};

async function translateDocument() {
  // Construct request
  const request = {
    parent: translationClient.locationPath(projectId, location),
    documentInputConfig: documentInputConfig,
    sourceLanguageCode: 'en-US',
    targetLanguageCode: 'sr-Latn',
  };

  // Run request
  const [response] = await translationClient.translateDocument(request);

  console.log(
    `Response: Mime Type - ${response.documentTranslation.mimeType}`
  );
}

translateDocument();

Dokument inline übersetzen

Im folgenden Beispiel wird ein Dokument inline als Teil der Anfrage gesendet. Für Inline-Dokumentübersetzungen muss der MIME-Typ angegeben werden.

Hinweis: Wenn Sie keinen Ausgangssprachcode angeben, ermittelt Document Translation die Sprache automatisch. Die ermittelte Sprache ist in der Ausgabe im Feld detectedLanguageCode enthalten.

REST

Ersetzen Sie diese Werte in den folgenden Anfragedaten:

  • PROJECT_NUMBER_OR_ID: Die numerische oder alphanumerische ID Ihres Google Cloud-Projekts.
  • LOCATION: die Region, in der Sie diesen Vorgang ausführen möchten. Beispiel: us-central1
  • SOURCE_LANGUAGE: (Optional) der Sprachcode des Eingabedokuments. Legen Sie gegebenenfalls einen der unter Sprachunterstützung aufgeführten Sprachcodes fest.
  • TARGET_LANGUAGE: die Zielsprache, in die das Eingabedokument übersetzt werden soll. Legen Sie einen der unter Sprachunterstützung aufgeführten Sprachcodes fest.
  • MIME_TYPE: das Format des Quelldokuments, z. B. application/pdf.
  • INPUT_BYTE_STREAM: der Inhalt des Eingabedokuments als Bytestream.
  • OUTPUT_FILE_PREFIX: der Cloud Storage-Speicherort, an dem das Ausgabedokument gespeichert werden soll.
  • IS_NATIVE: (Optional) Bei nativen PDF-Dokumenten ein boolescher Wert, der angibt, ob Ihre Anfrage das native oder gescannte PDF-Seitenlimit verwendet. Bei "true" wird das Seitenlimit für native PDF-Dokumente auf 300 Seiten erhöht. Bei "false" oder "nicht angegeben" wird das Limit für gescannte PDF-Seiten verwendet (20 Seiten).

HTTP-Methode und URL:

POST https://translation.googleapis.com/v3/projects/PROJECT_NUMBER_OR_ID/locations/LOCATION:translateDocument

JSON-Text anfordern:

{
  "source_language_code": "SOURCE_LANGUAGE",
  "target_language_code": "TARGET_LANGUAGE",
  "document_input_config": {
    "mimeType": "MIME_TYPE",
    "content": "INPUT_BYTE_STREAM"
  },
  "document_output_config": {
    "gcsDestination": {
      "outputUriPrefix": "gs://OUTPUT_FILE_PREFIX"
    }
  },
  "isTranslateNativePdfOnly": IS_NATIVE
}

Wenn Sie die Anfrage senden möchten, maximieren Sie eine der folgenden Optionen:

Sie sollten eine JSON-Antwort ähnlich wie diese erhalten:

{
  "documentTranslation": {
    "byteStreamOutputs": ["BYTE_STREAM"],
    "mimeType": "MIME_TYPE"
  },
  "model": "projects/PROJECT_NUMBER/locations/LOCATION/models/general/nmt"
}

Python

Folgen Sie der Einrichtungsanleitung für Python in der Cloud Translation-Kurzanleitung zur Verwendung von Clientbibliotheken, bevor Sie dieses Beispiel anwenden. Weitere Informationen finden Sie in der Referenzdokumentation zu Cloud Translation Python API.

Richten Sie die Standardanmeldedaten für Anwendungen ein, um sich bei Cloud Translation zu authentifizieren. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.

from google.cloud import translate_v3beta1 as translate

def translate_document(
    project_id: str,
    file_path: str,
) -> translate.TranslationServiceClient:
    """Translates a document.

    Args:
        project_id: The GCP project ID.
        file_path: The path to the file to be translated.

    Returns:
        The translated document.
    """

    client = translate.TranslationServiceClient()
    location = "us-central1"
    parent = f"projects/{project_id}/locations/{location}"

    # Supported file types: https://cloud.google.com/translate/docs/supported-formats
    with open(file_path, "rb") as document:
        document_content = document.read()

    document_input_config = {
        "content": document_content,
        "mime_type": "application/pdf",
    }

    response = client.translate_document(
        request={
            "parent": parent,
            "target_language_code": "fr-FR",
            "document_input_config": document_input_config,
        }
    )

    # To output the translated document, uncomment the code below.
    # f = open('/tmp/output', 'wb')
    # f.write(response.document_translation.byte_stream_outputs[0])
    # f.close()

    # If not provided in the TranslationRequest, the translated file will only be returned through a byte-stream
    # and its output mime type will be the same as the input file's mime type
    print(
        f"Response: Detected Language Code - {response.document_translation.detected_language_code}"
    )

    return response

AutoML-Modell oder Glossar verwenden

Anstelle des von Google verwalteten Modells können Sie Ihre eigenen AutoML Translation-Modelle für das Übersetzen von Dokumenten verwenden. Zusätzlich zu einem Modell können Sie auch ein Glossar für eine fachspezifische Terminologie angeben. Wenn Sie ein Modell oder ein Glossar festlegen, müssen Sie auch die Ausgangssprache angeben. Im folgenden Beispiel werden ein AutoML-Modell und ein Glossar verwendet. Wenn sich das Modell oder das Glossar in einem anderen Projekt befindet, benötigen Sie die entsprechenden IAM-Berechtigungen für den Zugriff auf diese Ressourcen.

REST

Ersetzen Sie diese Werte in den folgenden Anfragedaten:

  • PROJECT_NUMBER_OR_ID: Die numerische oder alphanumerische ID Ihres Google Cloud-Projekts.
  • LOCATION: die Region, in der Sie diesen Vorgang ausführen möchten, z. B. us-central1. Der Speicherort muss mit der Region übereinstimmen, in der sich das Modell, das Glossar oder beide befinden.
  • SOURCE_LANGUAGE: der Sprachcode des Eingabedokuments. Legen Sie einen der unter Sprachunterstützung aufgeführten Sprachcodes fest.
  • TARGET_LANGUAGE: die Zielsprache, in die das Eingabedokument übersetzt werden soll. Legen Sie einen der unter Sprachunterstützung aufgeführten Sprachcodes fest.
  • INPUT_FILE_PATH: der Cloud Storage-Speicherort und der Dateiname des Eingabedokuments.
  • OUTPUT_FILE_PREFIX: der Cloud Storage-Speicherort, an dem das Ausgabedokument gespeichert werden soll.
  • MODEL_PROJECT_ID: die ID des Projekts, in dem sich das Modell befindet.
  • MODEL_LOCATION: die Region, in der sich das Modell befindet.
  • MODEL_ID: die ID des Modells, das verwendet werden soll.
  • GLOSSARY_PROJECT_ID: die ID des Projekts, in dem sich das Glossar befindet.
  • GLOSSARY_LOCATION: die Region, in der sich das Glossar befindet.
  • GLOSSARY_ID: die ID des Glossars, das verwendet werden soll.

HTTP-Methode und URL:

POST https://translation.googleapis.com/v3/projects/PROJECT_NUMBER_OR_ID/locations/LOCATION:translateDocument

JSON-Text anfordern:

{
  "source_language_code": "SOURCE_LANGUAGE",
  "target_language_code": "TARGET_LANGUAGE",
  "document_input_config": {
    "gcsSource": {
      "inputUri": "gs://INPUT_FILE_PATH"
    }
  },
  "document_output_config": {
    "gcsDestination": {
      "outputUriPrefix": "gs://OUTPUT_FILE_PREFIX"
    }
  },
  "model": "projects/MODEL_PROJECT_ID/locations/MODEL_LOCATION/models/MODEL_ID",
  "glossary_config": {
    "glossary": "projects/GLOSSARY_PROJECT_ID/locations/MODEL_LOCATION/glossaries/GLOSSARY_ID"
  }
}

Wenn Sie die Anfrage senden möchten, maximieren Sie eine der folgenden Optionen:

Sie sollten eine JSON-Antwort ähnlich wie diese erhalten:

{
  "documentTranslation": {
    "byteStreamOutputs": ["BYTE_STREAM"],
    "mimeType": "MIME_TYPE"
  },
  "glossary_document_translation": {
    "byteStreamOutputs": ["BYTE_STREAM_USING_GLOSSARY"],
    "mimeType": "MIME_TYPE"
  },
  "model": "projects/MODEL_PROJECT_ID/locations/MODEL_LOCATION/models/MODEL_ID",
  "glossaryConfig": {
    "glossary": "projects/GLOSSARY_PROJECT_ID/locations/MODEL_LOCATION/glossaries/GLOSSARY_ID"
  }
}

Dokumente übersetzen (Batch)

Mit einer Batchübersetzung haben Sie die Möglichkeit, mit einer einzigen Anfrage mehrere Dateien in mehrere Sprachen zu übersetzen. Für jede Anfrage können Sie bis zu 100 Dateien mit einer Gesamtgröße von bis zu 1 GB oder bis zu 100 Millionen Unicode-Codepoints senden, je nachdem, welches Limit zuerst erreicht wird. Sie können für jede Sprache ein eigenes Übersetzungsmodell angeben.

Mehrere Dokumente übersetzen

Das folgende Beispiel beinhaltet mehrere Eingabekonfigurationen. Jede Eingabekonfiguration ist ein Verweis auf eine Datei in einem Cloud Storage-Bucket.

REST

Ersetzen Sie diese Werte in den folgenden Anfragedaten:

  • PROJECT_NUMBER_OR_ID: Die numerische oder alphanumerische ID Ihres Google Cloud-Projekts
  • LOCATION: die Region, in der Sie diesen Vorgang ausführen möchten. Beispiel: us-central1
  • SOURCE_LANGUAGE: der Sprachcode der Eingabedokumente. Legen Sie einen der unter Sprachunterstützung aufgeführten Sprachcodes fest.
  • TARGET_LANGUAGE: die Zielsprache oder -sprachen, in die die Eingabedokumente übersetzt werden sollen. Verwenden Sie die unter Sprachunterstützung aufgeführten Sprachcodes.
  • INPUT_FILE_PATH: der Cloud Storage-Speicherort und der Name der Datei eines oder mehrerer Eingabedokumente.
  • OUTPUT_FILE_PREFIX: der Cloud Storage-Speicherort, an dem alle Ausgabedokumente gespeichert werden sollen.

HTTP-Methode und URL:

POST https://translation.googleapis.com/v3/projects/PROJECT_NUMBER_OR_ID/locations/LOCATION:batchTranslateDocument

JSON-Text anfordern:

{
  "source_language_code": "SOURCE_LANGUAGE",
  "target_language_codes": ["TARGET_LANGUAGE", ...],
  "input_configs": [
    {
      "gcsSource": {
        "inputUri": "gs://INPUT_FILE_PATH_1"
      }
    },
    {
      "gcsSource": {
        "inputUri": "gs://INPUT_FILE_PATH_2"
      }
    },
    ...
  ],
  "output_config": {
    "gcsDestination": {
      "outputUriPrefix": "gs://OUTPUT_FILE_PREFIX"
    }
  }
}

Wenn Sie die Anfrage senden möchten, maximieren Sie eine der folgenden Optionen:

Die Antwort enthält die ID für einen Vorgang mit langer Laufzeit.
{
  "name": "projects/PROJECT_NUMBER/locations/LOCATION/operations/OPERATION_ID",
  "metadata": {
    "@type": "type.googleapis.com/google.cloud.translation.v3.BatchTranslateDocumentMetadata",
    "state": "RUNNING"
  }
}

Node.js

Folgen Sie der Einrichtungsanleitung für Node.js in der Cloud Translation-Kurzanleitung zur Verwendung von Clientbibliotheken, bevor Sie dieses Beispiel anwenden. Weitere Informationen finden Sie in der Referenzdokumentation zu Cloud Translation Node.js API.

Richten Sie die Standardanmeldedaten für Anwendungen ein, um sich bei Cloud Translation zu authentifizieren. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.

/**
 * TODO(developer): Uncomment these variables before running the sample.
 */
// const projectId = 'YOUR_PROJECT_ID';
// const location = 'us-central1';
// const inputUri = 'path_to_your_files';
// const outputUri = 'path_to_your_output_bucket';

// Imports the Google Cloud Translation library
const {TranslationServiceClient} = require('@google-cloud/translate').v3beta1;

// Instantiates a client
const translationClient = new TranslationServiceClient();

const documentInputConfig = {
  gcsSource: {
    inputUri: inputUri,
  },
};

async function batchTranslateDocument() {
  // Construct request
  const request = {
    parent: translationClient.locationPath(projectId, location),
    documentInputConfig: documentInputConfig,
    sourceLanguageCode: 'en-US',
    targetLanguageCodes: ['sr-Latn'],
    inputConfigs: [
      {
        gcsSource: {
          inputUri: inputUri,
        },
      },
    ],
    outputConfig: {
      gcsDestination: {
        outputUriPrefix: outputUri,
      },
    },
  };

  // Batch translate documents using a long-running operation.
  // You can wait for now, or get results later.
  const [operation] = await translationClient.batchTranslateDocument(request);

  // Wait for operation to complete.
  const [response] = await operation.promise();

  console.log(`Total Pages: ${response.totalPages}`);
}

batchTranslateDocument();

Python

Folgen Sie der Einrichtungsanleitung für Python in der Cloud Translation-Kurzanleitung zur Verwendung von Clientbibliotheken, bevor Sie dieses Beispiel anwenden. Weitere Informationen finden Sie in der Referenzdokumentation zu Cloud Translation Python API.

Richten Sie die Standardanmeldedaten für Anwendungen ein, um sich bei Cloud Translation zu authentifizieren. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.


from google.cloud import translate_v3beta1 as translate

def batch_translate_document(
    input_uri: str,
    output_uri: str,
    project_id: str,
    timeout: int = 180,
) -> translate.BatchTranslateDocumentResponse:
    """Batch translate documents.

    Args:
        input_uri: Google Cloud Storage location of the input document.
        output_uri: Google Cloud Storage location of the output document.
        project_id: The GCP project ID.
        timeout: The timeout for this request.

    Returns:
        Translated document response
    """
    client = translate.TranslationServiceClient()

    # The ``global`` location is not supported for batch translation
    location = "us-central1"

    # Google Cloud Storage location for the source input. This can be a single file
    # (for example, ``gs://translation-test/input.docx``) or a wildcard
    # (for example, ``gs://translation-test/*``).
    # Supported file types: https://cloud.google.com/translate/docs/supported-formats
    gcs_source = {"input_uri": input_uri}

    batch_document_input_configs = {
        "gcs_source": gcs_source,
    }
    gcs_destination = {"output_uri_prefix": output_uri}
    batch_document_output_config = {"gcs_destination": gcs_destination}
    parent = f"projects/{project_id}/locations/{location}"

    # Supported language codes: https://cloud.google.com/translate/docs/language
    operation = client.batch_translate_document(
        request={
            "parent": parent,
            "source_language_code": "en-US",
            "target_language_codes": ["fr-FR"],
            "input_configs": [batch_document_input_configs],
            "output_config": batch_document_output_config,
        }
    )

    print("Waiting for operation to complete...")
    response = operation.result(timeout)

    print(f"Total Pages: {response.total_pages}")

    return response

Native PDF-Datei übersetzen und konvertieren

Im folgenden Beispiel wird eine native PDF-Datei übersetzt und in eine DOCX-Datei konvertiert. Sie können mehrere Eingaben verschiedener Dateitypen angeben. Es muss sich nicht bei allen Dateien um native PDF-Dateien handeln. Gescannte PDF-Dateien können jedoch nicht verwendet werden, wenn diese auch konvertiert werden sollen. Die Anfrage wird dann abgelehnt und es wird keine Übersetzung ausgeführt. Es können nur native PDF-Dateien übersetzt und in DOCX-Dateien konvertiert werden. Wenn Sie beispielsweise PPTX-Dateien verwenden, werden diese übersetzt und als PPTX-Dateien zurückgegeben.

Wenn Sie regelmäßig eine Kombination aus gescannten und nativen PDF-Dateien übersetzen möchten, sollten Sie diese in separaten Cloud Storage-Buckets ablegen. Auf diese Weise können Sie bei der Anfrage für eine Batchübersetzung und -konvertierung auf einfache Weise den Bucket mit den gescannten PDF-Dateien ausschließen, anstatt einzelne Dateien auszuschließen.

REST

Ersetzen Sie diese Werte in den folgenden Anfragedaten:

  • PROJECT_NUMBER_OR_ID: Die numerische oder alphanumerische ID Ihres Google Cloud-Projekts
  • LOCATION: die Region, in der Sie diesen Vorgang ausführen möchten. Beispiel: us-central1
  • SOURCE_LANGUAGE: der Sprachcode der Eingabedokumente. Legen Sie einen der unter Sprachunterstützung aufgeführten Sprachcodes fest.
  • TARGET_LANGUAGE: die Zielsprache oder -sprachen, in die die Eingabedokumente übersetzt werden sollen. Verwenden Sie die unter Sprachunterstützung aufgeführten Sprachcodes.
  • INPUT_FILE_PATH: Der Cloud Storage-Speicherort und der Dateiname einer oder mehrerer native PDF-Dateien.
  • OUTPUT_FILE_PREFIX: der Cloud Storage-Speicherort, an dem alle Ausgabedokumente gespeichert werden sollen.

HTTP-Methode und URL:

POST https://translation.googleapis.com/v3/projects/PROJECT_NUMBER_OR_ID/locations/LOCATION:batchTranslateDocument

JSON-Text anfordern:

{
  "source_language_code": "SOURCE_LANGUAGE",
  "target_language_codes": ["TARGET_LANGUAGE", ...],
  "input_configs": [
    {
      "gcsSource": {
        "inputUri": "gs://INPUT_FILE_PATH_1"
      }
    },
    {
      "gcsSource": {
        "inputUri": "gs://INPUT_FILE_PATH_2"
      }
    },
    ...
  ],
  "output_config": {
    "gcsDestination": {
      "outputUriPrefix": "gs://OUTPUT_FILE_PREFIX"
    }
  },
  "format_conversions": {
    "application/pdf": "application/vnd.openxmlformats-officedocument.wordprocessingml.document"
  }
}

Wenn Sie die Anfrage senden möchten, maximieren Sie eine der folgenden Optionen:

Die Antwort enthält die ID für einen Vorgang mit langer Laufzeit.
{
  "name": "projects/PROJECT_NUMBER/locations/LOCATION/operations/OPERATION_ID",
  "metadata": {
    "@type": "type.googleapis.com/google.cloud.translation.v3.BatchTranslateDocumentMetadata",
    "state": "RUNNING"
  }
}

AutoML-Modell oder Glossar verwenden

Anstelle des von Google verwalteten Modells können Sie Ihre eigenen AutoML Translation-Modelle für das Übersetzen von Dokumenten verwenden. Zusätzlich zu einem Modell können Sie auch ein Glossar für eine fachspezifische Terminologie angeben. Wenn Sie ein Modell oder ein Glossar festlegen, müssen Sie auch die Ausgangssprache angeben. Im folgenden Beispiel werden ein AutoML-Modell und ein Glossar verwendet. Sie können bis zu zehn Zielsprachen mit einem eigenen Modell und Glossar angeben.

Wenn Sie ein Modell nur für einige Zielsprachen festlegen, wird in Document Translation für die nicht festgelegten Sprachen das von Google verwaltete Modell verwendet. Wenn Sie nur für einige Zielsprachen ein Glossar angeben, wird in Document Translation für die anderen Sprachen kein Glossar genutzt.

REST

Ersetzen Sie diese Werte in den folgenden Anfragedaten:

  • PROJECT_NUMBER_OR_ID: Die numerische oder alphanumerische ID Ihres Google Cloud-Projekts
  • LOCATION: die Region, in der Sie diesen Vorgang ausführen möchten, z. B. us-central1. Der Speicherort muss mit der Region übereinstimmen, in der sich das Modell, das Glossar oder beide befinden.
  • SOURCE_LANGUAGE: der Sprachcode der Eingabedokumente. Legen Sie einen der unter Sprachunterstützung aufgeführten Sprachcodes fest.
  • TARGET_LANGUAGE: die Zielsprache oder -sprachen, in die die Eingabedokumente übersetzt werden sollen. Verwenden Sie die unter Sprachunterstützung aufgeführten Sprachcodes.
  • INPUT_FILE_PATH: der Cloud Storage-Speicherort und der Name der Datei eines oder mehrerer Eingabedokumente.
  • OUTPUT_FILE_PREFIX: der Cloud Storage-Speicherort, an dem alle Ausgabedokumente gespeichert werden sollen.
  • MODEL_PROJECT_ID: die ID des Projekts, in dem sich das Modell befindet.
  • MODEL_LOCATION: die Region, in der sich das Modell befindet.
  • MODEL_ID: die ID des Modells, das verwendet werden soll.
  • GLOSSARY_PROJECT_ID: die ID des Projekts, in dem sich das Glossar befindet.
  • GLOSSARY_LOCATION: die Region, in der sich das Glossar befindet.
  • GLOSSARY_ID: die ID des Glossars, das verwendet werden soll.

HTTP-Methode und URL:

POST https://translation.googleapis.com/v3/projects/PROJECT_NUMBER_OR_ID/locations/LOCATION:translateDocument

JSON-Text anfordern:

{
  "source_language_code": "SOURCE_LANGUAGE",
  "target_language_codes": "[TARGET_LANGUAGE, ...]",
  "input_configs": [
    {
      "gcsSource": {
        "inputUri": "gs://INPUT_FILE_PATH"
      }
    }
  ],
  "output_config": {
    "gcsDestination": {
      "outputUriPrefix": "gs://OUTPUT_FILE_PREFIX"
    }
  },
  "models": {
    "TARGET_LANGUAGE": "projects/MODEL_PROJECT_ID/locations/MODEL_LOCATION/models/MODEL_ID",
    ...
  },
  "glossaries": {
    "TARGET_LANGUAGE": {
      "glossary": "projects/GLOSSARY_PROJECT_ID/locations/MODEL_LOCATION/glossaries/GLOSSARY_ID"
    },
    ...
  }
}

Wenn Sie die Anfrage senden möchten, maximieren Sie eine der folgenden Optionen:

Die Antwort enthält die ID für einen Vorgang mit langer Laufzeit.
{
  "name": "projects/PROJECT_NUMBER/locations/LOCATION/operations/OPERATION_ID",
  "metadata": {
    "@type": "type.googleapis.com/google.cloud.translation.v3.BatchTranslateDocumentMetadata",
    "state": "RUNNING"
  }
}

Text überschneidet sich

In einigen Fällen können native PDF-Übersetzungen übersetzten Text enthalten, der den Quelltext überlagert. Dieses Problem wird als Schattentext bezeichnet.

In bestimmten Fällen können Sie Schattentext durch das Aktivieren der Option enableShadowRemovalNativePdf entfernen. Wenn Sie diese Option aktivieren, erhöht sich die Antwortlatenz und bei der Übersetzung von Onlinedokumenten beträgt das Seitenlimit 20. Ob Ihr Dokument die Entfernung von Schattentext erfordert, können Sie erst nach der Übersetzung feststellen.

In anderen Fällen, wenn die Option enableShadowRemovalNativePdf nicht funktioniert, konvertieren Sie die PDF-Datei in ein Bild und übersetzen sie dann. Normalerweise enthalten diese Fälle mehrere Ebenen Text, z. B. wenn ein auswählbarer Text über einem Hintergrundbild liegt, das auch Text enthält. Wenn Sie die PDF-Datei in ein Bild konvertieren, kann Cloud Translation das Dokument als gescannte PDF-Datei verarbeiten. Für die Konvertierung können Sie Chrome (als Bild drucken) oder andere Drittanbietertools verwenden.

Textausrichtung

Bei gescannten PDF-Übersetzungen muss der Quelltext horizontal ausgerichtet sein. Wenn ein gescanntes Dokument beispielsweise Text enthält, der schräg nach oben oder unten verläuft, analysiert Cloud Translation möglicherweise nicht den gesamten Text korrekt, was zu falschen oder unvollständigen Übersetzungen führt.

Wenn Ihre Dokumente nicht konsistent ausgerichtet sind, können Sie sie von Cloud Translation ausrichten lassen. Aktivieren Sie in der Übersetzungsanfrage die Option enableRotationCorrection, damit Text vor der Übersetzung korrekt ausgerichtet wird.

Nächste Schritte

  • Die Preise für Document Translation werden pro Seite berechnet. Weitere Informationen finden Sie unter Preise.