Cómo ejecutar IronPDF para Java en Google Cloud

Nota: No hemos probado completamente la compatibilidad con Google Cloud, pero si quieres probar, tenemos algunas Ajustes necesarios.

Importante: Ajustes necesarios

  • No se admite la implementación Zip, ya que IronPDF requiere la ejecución de binarios en tiempo de ejecución.
  • Las imágenes Docker predeterminadas de Cloud Function no funcionan porque carecen de los paquetes necesarios para que Chrome funcione correctamente. https://cloud.google.com/functions/docs/reference/system-packages
  • Utilice un archivo Docker personalizado e instale todos los paquetes necesarios. Más información aquí: https://ironpdf.com/how-to/linux/
  • Incluya la dependencia ironpdf-engine-linux-x64 en su proyecto: (cambiar el número de versión a la última)
    <dependency>
        <groupId>com.ironsoftware</groupId>
        <artifactId>ironpdf-engine-linux-x64</artifactId>
        <version>2022.xx.x</version>
    </dependency>
XML
  • Este plugin puede ser necesario:
    <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
  • Estas dependencias pueden ser necesarias:
    <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
  • Establecer timeout a 330 segundos debido a un inicio lento.
  • Ajuste el tamaño de la memoria a un mínimo de 2048 MB.
  • Establezca EphemeralStorage Size en al menos 1024 MB.
  • En algunos entornos, puede que necesites apuntar a un IronPdfEngineWorkingDirectory y establecer permisos de ejecución para él:
    Setting.setIronPdfEngineWorkingDirectory(Paths.get("/tmp/"));
JAVA
    RUN chmod 777 /tmp/