Azure Function'da IronPDF for Java Nasıl Çalıştırılır
- IronPDF for Java yalnızca Docker dağıtımını destekler.
- Zip Dağıtımı desteklenmiyor, çünkü IronPDF çalıştırma zamanında ikili dosyaların çalıştırılmasını gerektirir.
- Linux Kullanarak Özel Resimle Fonksiyon Oluşturma için Microsoft Resmi Kılavuzunu Takip Edin
Choose a programming languageicin ->Javasecin- Uygulamanız çalışana kadar rehberi takip edin.
-
IronPDF bağımlılığını ekleyin
- Bunu en son
<version>ile pom'unuza ekleyin:
<dependencies> <dependency> <groupId>com.ironsoftware</groupId> <artifactId>ironpdf</artifactId> <version>2022.xx.x</version> </dependency> <dependency> <groupId>com.ironsoftware</groupId> <artifactId>ironpdf-engine-linux-x64</artifactId> <version>2022.xx.x</version> </dependency> </dependencies><dependencies> <dependency> <groupId>com.ironsoftware</groupId> <artifactId>ironpdf</artifactId> <version>2022.xx.x</version> </dependency> <dependency> <groupId>com.ironsoftware</groupId> <artifactId>ironpdf-engine-linux-x64</artifactId> <version>2022.xx.x</version> </dependency> </dependencies>XML- Not: Docker'da IronPDF'i calistirmak icin
ironpdf-engine-linux-x64gereklidir.
- Bunu en son
-
Bir
RenderPdffonksiyonu ekleyinFunction.javaicinde yeni bir fonksiyon ekleyin- Bu fonksiyon bir URL alacak ve işlenmiş bir PDF döndürecek.
import com.microsoft.azure.functions.*; import com.ironsoftware.ironpdf.PdfDocument; import java.util.Optional; public class Function { /** * Azure function to render a URL as a PDF and return it. * Triggered by an HTTP request with a URL query string parameter. */ @FunctionName("RenderPdf") public HttpResponseMessage renderPdf( @HttpTrigger( name = "req", methods = {HttpMethod.GET, HttpMethod.POST}, authLevel = AuthorizationLevel.ANONYMOUS) HttpRequestMessage<Optional<String>> request, final ExecutionContext context) { context.getLogger().info("Java HTTP trigger processed a request. (RenderPdf)"); // Parse query parameter for the URL final String url = request.getQueryParameters().get("url"); // Check if the URL parameter is provided if (url == null) { return request.createResponseBuilder(HttpStatus.BAD_REQUEST) .body("Please pass a url on the query string") .build(); } else { try { context.getLogger().info("IronPDF is attempting to render the URL: " + url); // Render the given URL as a PDF PdfDocument pdfDocument = PdfDocument.renderUrlAsPdf(url); // Convert the PDF document to binary data byte[] content = pdfDocument.getBinaryData(); // Return the PDF as an attachment in the response return request.createResponseBuilder(HttpStatus.OK) .body(content) .header("Content-Disposition", "attachment; filename=ironpdf_result.pdf") .build(); } catch (Exception e) { context.getLogger().severe("Failed to render PDF: " + e.getMessage()); return request.createResponseBuilder(HttpStatus.INTERNAL_SERVER_ERROR) .body("An error occurred while rendering the PDF.") .build(); } } } }import com.microsoft.azure.functions.*; import com.ironsoftware.ironpdf.PdfDocument; import java.util.Optional; public class Function { /** * Azure function to render a URL as a PDF and return it. * Triggered by an HTTP request with a URL query string parameter. */ @FunctionName("RenderPdf") public HttpResponseMessage renderPdf( @HttpTrigger( name = "req", methods = {HttpMethod.GET, HttpMethod.POST}, authLevel = AuthorizationLevel.ANONYMOUS) HttpRequestMessage<Optional<String>> request, final ExecutionContext context) { context.getLogger().info("Java HTTP trigger processed a request. (RenderPdf)"); // Parse query parameter for the URL final String url = request.getQueryParameters().get("url"); // Check if the URL parameter is provided if (url == null) { return request.createResponseBuilder(HttpStatus.BAD_REQUEST) .body("Please pass a url on the query string") .build(); } else { try { context.getLogger().info("IronPDF is attempting to render the URL: " + url); // Render the given URL as a PDF PdfDocument pdfDocument = PdfDocument.renderUrlAsPdf(url); // Convert the PDF document to binary data byte[] content = pdfDocument.getBinaryData(); // Return the PDF as an attachment in the response return request.createResponseBuilder(HttpStatus.OK) .body(content) .header("Content-Disposition", "attachment; filename=ironpdf_result.pdf") .build(); } catch (Exception e) { context.getLogger().severe("Failed to render PDF: " + e.getMessage()); return request.createResponseBuilder(HttpStatus.INTERNAL_SERVER_ERROR) .body("An error occurred while rendering the PDF.") .build(); } } } }JAVA -
Dockerfile'ı güncelleyin
- Gerekli IronPDF Linux paketlerini ekleyin. Örnekten, temel Docker imaji
mcr.microsoft.com/azure-functions/java:4-java$JAVA_VERSION-buildolup,Debian 11uzerine kuruludur. Bu nedenle, Dockerfile'a bu paketleri eklememiz gerekiyor.
RUN apt update \ && apt install -y libgdiplus libxkbcommon-x11-0 libc6 libc6-dev libgtk2.0-0 libnss3 \ libatk-bridge2.0-0 libx11-xcb1 libxcb-dri3-0 libdrm-common libgbm1 \ libasound2 libxrender1 libfontconfig1 libxshmfence1 RUN apt-get install -y xvfb libva-dev libgdiplus- Diğer Linux dağıtımları için, lütfen IronPDF Linux Kurulum Rehberi'ne bakın.
- Gerekli IronPDF Linux paketlerini ekleyin. Örnekten, temel Docker imaji
- İşlevinizi Azure'a yeniden dağıtın
- Oluştur & paketle:
mvn clean package - Docker imaji yapılandırin:
docker build --tag <DOCKER_ID>/azurefunctionsimage:v1.0.0 . - Docker imajini itin:
docker push <DOCKER_ID>/azurefunctionsimage:v1.0.0
- Oluştur & paketle:
-
Azure işlevini güncelleyin:
az functionapp create --name <APP_NAME> --storage-account <STORAGE_NAME> \ --resource-group AzureFunctionsContainers-rg --plan myPremiumPlan \ --deployment-container-image-name <DOCKER_ID>/azurefunctionsimage:v1.0.0az functionapp create --name <APP_NAME> --storage-account <STORAGE_NAME> \ --resource-group AzureFunctionsContainers-rg --plan myPremiumPlan \ --deployment-container-image-name <DOCKER_ID>/azurefunctionsimage:v1.0.0SHELL - IronPDF'yi kullanarak
- Fonksiyonu
https://<APP_NAME>.azurewebsites.net/api/RenderPdf?url=https://www.google.comadresinde tetikleyin - Not: İşlev ilk kez tetiklendiğinde, başlatmayla ilgili yavaşlık veya başarısızlık nedeniyle yavaş olabilir, ancak bundan sonra tutarlı performans göstermelidir.
- Fonksiyonu
Sıkça Sorulan Sorular
Azure Function kullanarak Java'da bir PDF uretici nasıl oluşturabilirim?
IronPDF'yi Docker araciligiyla yayimlayarak Azure Function kullanarak Java'da bir PDF uretici oluşturabilirsiniz. Bu, PDF oluşturma işlemlerini bir Azure Function ortamina dahil etmek için IronPDF kütüphanesinin kullanilmasini icerir.
Neden IronPDF için Azure Function'larda Docker yayilimi gereklidir?
IronPDF için Azure Function'larda Docker yayilimi gereklidir cunku çalışma zamaninda ikili dosyalarin çalışmasi gerekir ve bu, Zip yayilim yöntemleriyle desteklenmez.
Bir Maven projesine IronPDF bagimliliklari nasıl eklenir?
Bir Maven projesine IronPDF bagimliliklari eklemek için IronPDF ve `ironpdf-engine-linux-x64` kütüphanelerini `pom.xml` dosyasina dahil edin. Uyumluluk için en son sürüm numaralarini kullandiginizdan emin olun.
Azure Function'da RenderPdf fonksiyonu nasıl çalışir?
Azure Function'daki RenderPdf fonksiyonu, bir HTTP isteginden bir URL okur, IronPDF'in `PdfDocument.renderUrlAsPdf` methodunu kullanarak URL'yi bir PDF olarak dönüştürur ve yanitta PDF'yi bir ek olarak dondurur.
IronPDF için Dockerfile'da hangi Linux paketleri gereklidir?
IronPDF için Dockerfile, Debian tabanli bir imajda doğru çalışma için `libgdiplus`, `libxkbcommon-x11-0`, `libc6` ve `libgtk2.0-0` gibi Linux paketlerini icermelidir.
PDF oluşturma fonksiyonunu ilk kez tetikledigimde ne beklemeliyim?
PDF oluşturma fonksiyonunu ilk kez tetiklediginde, başlangic süreçleri nedeniyle yavaslayabilir veya basarisiz olabilir. Sonraki çalıştırmalar daha istikrarli olmali.
Azure Function için Docker imajini nasıl yayimlayabilirim?
Bir Azure Function için Docker imajini yayimlamak için `mvn clean package` ile projenizi derleyin, Docker imajini oluşturun, bir Docker kayıt deposuna yükleyin ve Azure Function'u bu yeni imajla guncelleyin.
Azure'da bir PDF oluşturma fonksiyonunu tetiklemek için doğru URL formati nedir?
PDF oluşturma fonksiyonunu tetiklemek için URL formatini kullanin: `https://
Kendi Docker imajinizi kullanarak bir Azure Function kurmak için kaynaklari nerede bulabilirim?
Kendi Docker imajinizi kullanarak bir Azure Function kurmak için Microsoft Resmi Rehberine Linux uzerinde Kendi Imajinizla Azure Function Oluşturma konusunda basvurabilirsiniz.

