Mit Sammlungen den Überblick behalten
Sie können Inhalte basierend auf Ihren Einstellungen speichern und kategorisieren.
Base64-Codierung
Wenn Sie Dokumentdateien an die Document AI API senden, können Sie die Daten nur mit Onlineverarbeitung direkt im Feld RawDocument.content senden, wenn Ihre Datei 20 MB oder weniger groß ist.
Die Eingabedatei ist im Binärformat, das vor dem Senden an Document AI codiert werden muss.
Wenn Ihre Eingabedatei die Limits für die Onlineverarbeitung überschreitet, muss sie in einem Cloud Storage-Bucket gespeichert werden, damit sie zur Verarbeitung gesendet werden kann. Eine Codierung ist dafür nicht erforderlich. Weitere Informationen finden Sie in der Dokumentation zur Batchverarbeitung.
Befehlszeile verwenden
Innerhalb einer gRPC-Anfrage können Sie die Binärdaten einfach direkt ausschreiben. Bei einer REST-Anfrage müssen Sie jedoch JSON verwenden. JSON ist ein Textformat, das Binärdaten nicht direkt unterstützt, weshalb diese mit der base64-Codierung in Text umgewandelt werden müssen.
Die meisten Entwicklungsumgebungen enthalten ein natives base64-Dienstprogramm, um ein Binärbild als ASCII-Textdaten zu codieren. So codieren Sie eine Datei:
Linux
Codieren Sie die Datei mithilfe des base64-Befehlszeilentools und achten Sie darauf, Zeilenumbrüche mithilfe des Flags -w 0 zu verhindern:
base64 INPUT_FILE -w 0 > OUTPUT_FILE
macOS
Codieren Sie die Datei mit dem base64-Befehlszeilentool:
base64 -i INPUT_FILE -o OUTPUT_FILE
Windows
Codieren Sie die Datei mit dem Tool Base64.exe:
Base64.exe -e INPUT_FILE > OUTPUT_FILE
PowerShell
Codieren Sie die Datei mit der Methode Convert.ToBase64String:
Binäre Daten mit Texteditoren in Anfragen einzubetten, ist weder wünschenswert noch praktisch. In der Praxis betten Sie base64-codierte Dateien in den Clientcode ein. Alle unterstützten Programmiersprachen haben integrierte Mechanismen für die base64-codierte Inhalte:
Python
# Import the base64 encoding library.importbase64# Pass the image data to an encoding function.defencode_image(image):withopen(image,"rb")asimage_file:encoded_string=base64.b64encode(image_file.read())returnencoded_string
Node.js
// Read the file into memory.varfs=require('fs');varimageFile=fs.readFileSync('/path/to/file');// Convert the image data to a Buffer and base64 encode it.varencoded=Buffer.from(imageFile).toString('base64');
Java
// Import the Base64 encoding library.importorg.apache.commons.codec.binary.Base64;// Encode the image.StringencodedString=Base64.getEncoder().encodeToString(imageFile.getBytes());
Go
import("bufio""encoding/base64""io""os")// Open image file.f,_:=os.Open("image.jpg")// Read entire image into byte slice.reader:=bufio.NewReader(f)content,_:=io.ReadAll(reader)// Encode image as base64.base64.StdEncoding.EncodeToString(content)
[[["Leicht verständlich","easyToUnderstand","thumb-up"],["Mein Problem wurde gelöst","solvedMyProblem","thumb-up"],["Sonstiges","otherUp","thumb-up"]],[["Schwer verständlich","hardToUnderstand","thumb-down"],["Informationen oder Beispielcode falsch","incorrectInformationOrSampleCode","thumb-down"],["Benötigte Informationen/Beispiele nicht gefunden","missingTheInformationSamplesINeed","thumb-down"],["Problem mit der Übersetzung","translationIssue","thumb-down"],["Sonstiges","otherDown","thumb-down"]],["Zuletzt aktualisiert: 2025-09-02 (UTC)."],[[["\u003cp\u003eBase64 encoding is necessary when sending binary files to the Document AI API via REST requests, as JSON, the format used, does not directly support binary data.\u003c/p\u003e\n"],["\u003cp\u003eFor online processing, files under 20 MB can be sent directly in the \u003ccode\u003eRawDocument.content\u003c/code\u003e field, but they must be Base64 encoded first.\u003c/p\u003e\n"],["\u003cp\u003eFiles exceeding the 20 MB online processing limit must be stored in a Cloud Storage bucket for batch processing, and they do not require Base64 encoding.\u003c/p\u003e\n"],["\u003cp\u003eVarious command-line tools and methods, such as the \u003ccode\u003ebase64\u003c/code\u003e command in Linux and macOS, and \u003ccode\u003eConvert.ToBase64String\u003c/code\u003e in PowerShell, are available to encode files into Base64 format.\u003c/p\u003e\n"],["\u003cp\u003eClient libraries in different programming languages like Python, Node.js, Java, and Go provide built-in mechanisms for Base64 encoding of files, which are preferred over manually editing a JSON request.\u003c/p\u003e\n"]]],[],null,["# Base64 encoding\n===============\n\nWhen sending document files to the Document AI API, you can send\ndata directly in the [`RawDocument.content`](/document-ai/docs/reference/rest/v1/RawDocument) field with\n[online processing](/document-ai/docs/send-request#online-process) **only** if\nyour file is [20 MB or less](/document-ai/quotas#content_limits).\nThe input file will be in a binary format, which must be encoded\nbefore sending to Document AI.\n\nIf your input file exceeds the online processing limits, it must be stored in a\nCloud Storage bucket in order to be sent for processing, which does not\nrequire encoding. Refer to the\n[batch processing documentation](/document-ai/docs/send-request#batch-process) for details.\n\nUsing the command line\n----------------------\n\nWithin a gRPC request, you can simply write binary data out directly;\nhowever, JSON is used when making a REST request. JSON\nis a text format that does not directly support binary data, so you will need to\nconvert such binary data into text using\n[Base64](https://en.wikipedia.org/wiki/Base64) encoding.\n\nMost development environments contain a native `base64` utility to\nencode a binary into ASCII text data. To encode a file: \n\n### Linux\n\nEncode the file using the `base64` command line tool, making sure to\nprevent line-wrapping by using the `-w 0` flag: \n\n```\nbase64 INPUT_FILE -w 0 \u003e OUTPUT_FILE\n```\n\n### macOS\n\nEncode the file using the `base64` command line tool: \n\n```\nbase64 -i INPUT_FILE -o OUTPUT_FILE\n```\n\n### Windows\n\nEncode the file using the `Base64.exe` tool: \n\n```\nBase64.exe -e INPUT_FILE \u003e OUTPUT_FILE\n```\n\n### PowerShell\n\nEncode the file using the `Convert.ToBase64String` method: \n\n```\n[Convert]::ToBase64String([IO.File]::ReadAllBytes(\"./INPUT_FILE\")) \u003e OUTPUT_FILE\n```\n\nCreate a JSON request file, inlining the base64-encoded data: \n\n### JSON\n\n\n```json\n{\n \"skipHumanReview\": skipHumanReview,\n \"rawDocument\": {\n \"mimeType\": \"\u003cvar translate=\"no\"\u003eMIME_TYPE\u003c/var\u003e\",\n \"content\": \"\u003cvar translate=\"no\"\u003eBASE64_ENCODED_DATA\u003c/var\u003e\"\n },\n \"fieldMask\": \"\u003cvar translate=\"no\"\u003eFIELD_MASK\u003c/var\u003e\"\n}\n```\n\n\u003cbr /\u003e\n\nUsing client libraries\n----------------------\n\nEmbedding binary data into requests through text editors is neither\ndesirable or practical. In practice, you will be embedding base64 encoded files\nwithin client code. All supported programming languages have built-in mechanisms\nfor base64 encoding content. \n\n### Python\n\n # Import the base64 encoding library.\n import base64\n\n # Pass the image data to an encoding function.\n def encode_image(image):\n with open(image, \"rb\") as image_file:\n encoded_string = base64.b64encode(image_file.read())\n return encoded_string\n\n### Node.js\n\n // Read the file into memory.\n var fs = require('fs');\n var imageFile = fs.readFileSync('/path/to/file');\n\n // Convert the image data to a Buffer and base64 encode it.\n var encoded = Buffer.from(imageFile).toString('base64');\n\n### Java\n\n // Import the Base64 encoding library.\n import org.apache.commons.codec.binary.Base64;\n\n // Encode the image.\n String encodedString = Base64.getEncoder().encodeToString(imageFile.getBytes());\n\n### Go\n\n import (\n \"bufio\"\n \"encoding/base64\"\n \"io\"\n \"os\"\n )\n\n // Open image file.\n f, _ := os.Open(\"image.jpg\")\n\n // Read entire image into byte slice.\n reader := bufio.NewReader(f)\n content, _ := io.ReadAll(reader)\n\n // Encode image as base64.\n base64.StdEncoding.EncodeToString(content)"]]