How to Run IronPDF for Java in Google Cloud

This article was translated from English: Does it need improvement?
Translated
View the article in English

Note: We have not fully tested support with Google Cloud, but if you want to try, we have some Required Settings.

Important: Required Settings

  • Zip Deployment is not supported, since IronPDF requires execution of binaries at runtime.
  • Default Cloud Function Docker images are not working because they lack the required packages for Chrome to run properly. For more information, see the Google Cloud System Packages.
  • Please use a custom Dockerfile and install all required packages. Learn more about this in our Linux Deployment Guide.

  • Include the ironpdf-engine-linux-x64 dependency to your project (change the version number to the latest):

    <dependency>
      <groupId>com.ironsoftware</groupId>
      <artifactId>ironpdf-engine-linux-x64</artifactId>
      <version>2022.xx.x</version>
    </dependency>
    <dependency>
      <groupId>com.ironsoftware</groupId>
      <artifactId>ironpdf-engine-linux-x64</artifactId>
      <version>2022.xx.x</version>
    </dependency>
    XML
  • This plugin may be required:

    <plugin>
      <groupId>org.apache.maven.plugins</groupId>
      <artifactId>maven-shade-plugin</artifactId>
      <version>3.2.4</version>
      <executions>
          <execution>
              <phase>package</phase>
              <goals>
                  <goal>shade</goal>
              </goals>
              <!-- required for Docker -->
              <configuration>
                  <transformers>
                      <transformer implementation="org.apache.maven.plugins.shade.resource.ServicesResourceTransformer"/>
                  </transformers>
              </configuration>
          </execution>
      </executions>
    </plugin>
    <plugin>
      <groupId>org.apache.maven.plugins</groupId>
      <artifactId>maven-shade-plugin</artifactId>
      <version>3.2.4</version>
      <executions>
          <execution>
              <phase>package</phase>
              <goals>
                  <goal>shade</goal>
              </goals>
              <!-- required for Docker -->
              <configuration>
                  <transformers>
                      <transformer implementation="org.apache.maven.plugins.shade.resource.ServicesResourceTransformer"/>
                  </transformers>
              </configuration>
          </execution>
      </executions>
    </plugin>
    XML
  • These dependencies may be required:

    <dependency>
      <groupId>io.perfmark</groupId>
      <artifactId>perfmark-api</artifactId>
      <version>0.26.0</version>
    </dependency>
    
    <dependency>
      <groupId>io.grpc</groupId>
      <artifactId>grpc-okhttp</artifactId>
      <version>1.50.2</version>
    </dependency>
    
    <dependency>
      <groupId>io.grpc</groupId>
      <artifactId>grpc-netty-shaded</artifactId>
      <version>1.50.2</version>
    </dependency>
    <dependency>
      <groupId>io.perfmark</groupId>
      <artifactId>perfmark-api</artifactId>
      <version>0.26.0</version>
    </dependency>
    
    <dependency>
      <groupId>io.grpc</groupId>
      <artifactId>grpc-okhttp</artifactId>
      <version>1.50.2</version>
    </dependency>
    
    <dependency>
      <groupId>io.grpc</groupId>
      <artifactId>grpc-netty-shaded</artifactId>
      <version>1.50.2</version>
    </dependency>
    XML
  • Set timeout to 330 seconds due to slow start.
  • Set memory size to at least 2048 MB.
  • Set Ephemeral Storage Size to at least 1024 MB.
  • In some environments, you may need to point at an IronPdfEngineWorkingDirectory and set execution permissions for it:

    // Set the working directory for the IronPDF Engine
    Setting.setIronPdfEngineWorkingDirectory(Paths.get("/tmp/"));
    // Set the working directory for the IronPDF Engine
    Setting.setIronPdfEngineWorkingDirectory(Paths.get("/tmp/"));
    JAVA
    # Grant full read/write/execute permissions to the /tmp directory
    RUN chmod 777 /tmp/

Preguntas Frecuentes

¿Cómo configuro una biblioteca de PDF para Java en Google Cloud?

Para configurar una biblioteca de PDF en Google Cloud, utilice un Dockerfile personalizado para instalar todos los paquetes necesarios como se detalla en la Guía de Implementación de Linux de IronPDF. Incluya la dependencia ironpdf-engine-linux-x64 y configure configuraciones específicas para un rendimiento óptimo.

¿Cuáles son las configuraciones específicas necesarias para ejecutar una biblioteca de PDF en Google Cloud?

Al ejecutar una biblioteca de PDF en Google Cloud, use un tiempo de espera de 330 segundos, un tamaño de memoria de al menos 2048 MB y un tamaño de almacenamiento efímero de al menos 1024 MB. Además, configure el IronPdfEngineWorkingDirectory y asegúrese de los permisos de ejecución para ese directorio.

¿Por qué no se admite la implementación Zip para una biblioteca de PDF en Google Cloud?

La implementación Zip no es compatible porque IronPDF requiere la ejecución de binarios en tiempo de ejecución, lo que no es factible con los métodos estándar de implementación Zip.

¿Qué dependencias adicionales son necesarias para implementar una biblioteca de PDF en Google Cloud?

Las dependencias adicionales que podrían ser necesarias incluyen perfmark-api, grpc-okhttp, y grpc-netty-shaded. Estas aseguran el funcionamiento adecuado de la biblioteca cuando se implementa.

¿Cómo puedo manejar los requisitos de paquetes para una biblioteca de PDF en las imágenes de Docker de Google Cloud?

Las imágenes Docker de la función Cloud predeterminadas carecen de los paquetes necesarios para Chrome. Use un Dockerfile personalizado para instalar todos los paquetes necesarios, siguiendo las instrucciones en la Guía de Implementación de Linux de IronPDF.

¿Hay un plugin de Maven específico requerido para implementar una biblioteca de PDF en entornos Docker?

El maven-shade-plugin puede ser necesario para entornos Docker. Debe configurarse para usar transformadores, especialmente cuando se trata de dependencias complejas.

¿Cómo configuro el directorio de trabajo para un motor PDF en un entorno Docker?

Puede configurar el directorio de trabajo para el motor PDF utilizando Setting.setIronPdfEngineWorkingDirectory(Paths.get("/tmp/")). Asegúrese de otorgar los permisos necesarios con un comando como RUN chmod 777 /tmp/ en su Dockerfile.

Curtis Chau
Escritor Técnico

Curtis Chau tiene una licenciatura en Ciencias de la Computación (Carleton University) y se especializa en el desarrollo front-end con experiencia en Node.js, TypeScript, JavaScript y React. Apasionado por crear interfaces de usuario intuitivas y estéticamente agradables, disfruta trabajando con frameworks modernos y creando manuales bien ...

Leer más
¿Listo para empezar?
Versión: 2025.11 recién lanzado