IronWord'u Azure'da .NET ile Çalıştırma

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

IronWord, Word belgelerini programlı bir şekilde oluşturmak, düzenlemek ve okumak için güçlü bir .NET kütüphanesidir. Azure App Services, Azure Functions ve Azure Container Instances dahil olmak üzere çeşitli Azure hizmetlerinde sorunsuz çalışır.

IronWord Yükleme

Resmi NuGet deposundan IronWord NuGet paketini yükleyerek başlayın:

Install-Package IronWord

Azure için Barındırma Dikkat Edilecekler

Doğru Azure Servis Katmanını Seçme

IronWord, tutarlı hesaplama kullanılabilirliği sağlayan Azure hizmet planlarında en iyi performansı gösterir. Çoğu küçük ve orta ölçekli kullanım durumu için, Temel (B1) Uygulama Hizmet Planı yeterlidir. Uygulamanız yüksek hacimli Word belgelerini işler veya karmaşık biçimlendirme görevleri yaparsa, performans darboğazlarından kaçınmak için Standart (S1) veya daha üst seviye katmanlara yükseltmeyi düşünün.

Desteklenen .NET Çalışma Zamanları ve Uyumluluk

IronWord, Azure'de barındırılan çözümlerde yaygın olarak kullanılan aşağıdaki framework'lerle kutudan çıktığı gibi çalışır:

.NET 6+ (LTS önerilir) .NET Core 3.1 .NET Standard 2.1

Bu, IronWord'u App Services, Azure Functions ve Docker konteynerleri gibi çeşitli Azure hizmetlerine uyumluluk konusunda endişe duymadan dağıtma esnekliği sağlar.

Docker'da Azure Üzerine Dağıtım

IronWord ile Kapsayıcı Tabanlı Dağıtım

Çalışma zamanında ortamınız üzerinde maksimum kontrol arıyorsanız, IronWord'ü bir Docker konteyneri içinde Azure Container Instances (ACI) veya Azure Kubernetes Service (AKS) üzerinde dağıtmayı değerlendirin. Bu, şunları yapmanızı sağlar:

  • Şablonları veya statik kaynakları önceden yükle
  • Belge işleme ayarlarını yapılandırın
  • İşletim Sistemi seviyesinde performansı ince ayarlayın

Başlamak için, mcr.microsoft.com/dotnet/aspnet:6.0 veya 7.0 gibi bir temel görüntü kullanın ve IronWord'u NuGet veya manuel DLL dahil etme yoluyla ekleyin.

Azure Functions ile Sunucusuz

Azure Functions ile IronWord Kullanımı

IronWord, .NET 6 veya daha yüksek sürümlerde çalışan Azure Functions v4 ile tam uyumludur. Bu, hafif, olay tabanlı belge oluşturmayı sağlar—aşağıdaki gibi senaryolar için mükemmeldir:

  • HTTP üzerinden isteğe bağlı rapor oluşturma
  • Form gönderimlerinden Word belgeleri oluşturma
  • Yapılandırılmış verileri .docx formatına dönüştürme

Azure Function Örneği: İstek Üzerine Word Dokümanı Oluşturma

Aşağıda, bir HTTP isteğine yanıt olarak bir Word belgesi oluşturan ve döndüren bir Azure İşlevi'nin gerçek dünya örneği bulunmaktadır:

using System.Net;
using System.Net.Http;
using Microsoft.AspNetCore.Http;
using Microsoft.Azure.WebJobs;
using Microsoft.Azure.WebJobs.Extensions.Http;
using Microsoft.Extensions.Logging;
using System.Net.Http.Headers;
using IronWord;
using IronWord.Models;
using System.IO;
using System.Threading.Tasks;

public static class WordFunction
{
    [FunctionName("GenerateWordDoc")]
    public static HttpResponseMessage Run(
        [HttpTrigger(AuthorizationLevel.Anonymous, "get", "post", Route = null)] HttpRequest req,
        ILogger log)
    {
        log.LogInformation("Processing request to generate Word document...");

        // Set your IronWord license key
        IronWord.License.LicenseKey = "YOUR-LICENSE-KEY";

        // Create and populate Word document
        var doc = new WordDocument();
        Paragraph para1 = new Paragraph(new TextContent("This Word document was generated by IronWord in an Azure Function."));
        Paragraph para2 = new Paragraph(new TextContent($"Timestamp: {System.DateTime.UtcNow}"));
        doc.AddParagraph(para1);
        doc.AddParagraph(para2);

        // Save to temporary file
        string tempPath = Path.GetTempFileName().Replace(".tmp", ".docx");
        doc.SaveAs(tempPath);

        // Read the file bytes
        byte[] fileBytes = File.ReadAllBytes(tempPath);

        // Optionally delete the temp file
        File.Delete(tempPath);

        // Build the response with the document as an attachment
        var response = new HttpResponseMessage(HttpStatusCode.OK)
        {
            Content = new ByteArrayContent(fileBytes)
        };
        response.Content.Headers.ContentDisposition = new ContentDispositionHeaderValue("attachment")
        {
            FileName = $"IronWord_{System.DateTime.UtcNow:yyyyMMdd_HHmmss}.docx"
        };
        response.Content.Headers.ContentType = new MediaTypeHeaderValue(
            "application/vnd.openxmlformats-officedocument.wordprocessingml.document");

        return response;
    }
}
using System.Net;
using System.Net.Http;
using Microsoft.AspNetCore.Http;
using Microsoft.Azure.WebJobs;
using Microsoft.Azure.WebJobs.Extensions.Http;
using Microsoft.Extensions.Logging;
using System.Net.Http.Headers;
using IronWord;
using IronWord.Models;
using System.IO;
using System.Threading.Tasks;

public static class WordFunction
{
    [FunctionName("GenerateWordDoc")]
    public static HttpResponseMessage Run(
        [HttpTrigger(AuthorizationLevel.Anonymous, "get", "post", Route = null)] HttpRequest req,
        ILogger log)
    {
        log.LogInformation("Processing request to generate Word document...");

        // Set your IronWord license key
        IronWord.License.LicenseKey = "YOUR-LICENSE-KEY";

        // Create and populate Word document
        var doc = new WordDocument();
        Paragraph para1 = new Paragraph(new TextContent("This Word document was generated by IronWord in an Azure Function."));
        Paragraph para2 = new Paragraph(new TextContent($"Timestamp: {System.DateTime.UtcNow}"));
        doc.AddParagraph(para1);
        doc.AddParagraph(para2);

        // Save to temporary file
        string tempPath = Path.GetTempFileName().Replace(".tmp", ".docx");
        doc.SaveAs(tempPath);

        // Read the file bytes
        byte[] fileBytes = File.ReadAllBytes(tempPath);

        // Optionally delete the temp file
        File.Delete(tempPath);

        // Build the response with the document as an attachment
        var response = new HttpResponseMessage(HttpStatusCode.OK)
        {
            Content = new ByteArrayContent(fileBytes)
        };
        response.Content.Headers.ContentDisposition = new ContentDispositionHeaderValue("attachment")
        {
            FileName = $"IronWord_{System.DateTime.UtcNow:yyyyMMdd_HHmmss}.docx"
        };
        response.Content.Headers.ContentType = new MediaTypeHeaderValue(
            "application/vnd.openxmlformats-officedocument.wordprocessingml.document");

        return response;
    }
}
Imports System
Imports System.Net
Imports System.Net.Http
Imports Microsoft.AspNetCore.Http
Imports Microsoft.Azure.WebJobs
Imports Microsoft.Azure.WebJobs.Extensions.Http
Imports Microsoft.Extensions.Logging
Imports System.Net.Http.Headers
Imports IronWord
Imports IronWord.Models
Imports System.IO
Imports System.Threading.Tasks

Public Module WordFunction
	<FunctionName("GenerateWordDoc")>
	Public Function Run(<HttpTrigger(AuthorizationLevel.Anonymous, "get", "post", Route := Nothing)> ByVal req As HttpRequest, ByVal log As ILogger) As HttpResponseMessage
		log.LogInformation("Processing request to generate Word document...")

		' Set your IronWord license key
		IronWord.License.LicenseKey = "YOUR-LICENSE-KEY"

		' Create and populate Word document
		Dim doc = New WordDocument()
		Dim para1 As New Paragraph(New TextContent("This Word document was generated by IronWord in an Azure Function."))
		Dim para2 As New Paragraph(New TextContent($"Timestamp: {DateTime.UtcNow}"))
		doc.AddParagraph(para1)
		doc.AddParagraph(para2)

		' Save to temporary file
		Dim tempPath As String = Path.GetTempFileName().Replace(".tmp", ".docx")
		doc.SaveAs(tempPath)

		' Read the file bytes
		Dim fileBytes() As Byte = File.ReadAllBytes(tempPath)

		' Optionally delete the temp file
		File.Delete(tempPath)

		' Build the response with the document as an attachment
		Dim response = New HttpResponseMessage(HttpStatusCode.OK) With {.Content = New ByteArrayContent(fileBytes)}
		response.Content.Headers.ContentDisposition = New ContentDispositionHeaderValue("attachment") With {.FileName = $"IronWord_{DateTime.UtcNow:yyyyMMdd_HHmmss}.docx"}
		response.Content.Headers.ContentType = New MediaTypeHeaderValue("application/vnd.openxmlformats-officedocument.wordprocessingml.document")

		Return response
	End Function
End Module
$vbLabelText   $csharpLabel

Kod Açıklaması:

  1. "GenerateWordDoc" adında bir Azure Function tanımlarız.
  2. Fonksiyon, bir HTTP GET veya POST isteği tarafından tetiklenir ve işlemeye başladığında bir mesaj kaydeder.
  3. IronWord lisans anahtarını tanımlamak için IronWord.License.LicenseKey ayarlıyoruz (gerçek anahtarınızı "YOUR-LICENSE-KEY" ile değiştirin).
  4. IronWord'un API'si kullanılarak yeni bir WordDocument oluşturulur.
  5. Belgeye iki paragraf eklenir — biri statik metinle diğeri ise mevcut UTC zaman damgasını gösterir.
  6. Belge, doc.SaveAs(tempPath) kullanılarak sunucuda geçici bir .docx dosyasına kaydedilir.
  7. Kaydedilen dosya, indirilmeye hazırlanmak üzere File.ReadAllBytes kullanılarak bir byte dizisine okunur.
  8. Geçici dosya, sistemin temiz kalması için okunduktan hemen sonra silinir.
  9. Bir HttpResponseMessage oluşturulur ve belgenin bayt içeriği indirilebilir bir ek olarak eklenir.
  10. Content-Disposition başlığı güncel tarih ve saati kullanarak indirme dosya adını ayarlar.
  11. Content-Type başlığı, bir Word dosya formatını belirtmek için "application/vnd.openxmlformats-officedocument.wordprocessingml.document" olarak ayarlanmıştır.

Sıkça Sorulan Sorular

Azure'da IronWord kurulumunun ilk adımı nedir?

Azure'da IronWord kurulumunun ilk adımı, eğer mevcut değilse bir Azure hesabı oluşturmaktır. Ardından, IronWord kullanan .NET uygulamanızı dağıtacağınız yeni bir Azure App Service kurulumu yapmanız gerekecektir.

Azure üzerinde IronWord kullanarak bir .NET uygulamasını nasıl dağıtabilirim?

Azure üzerinde IronWord kullanarak bir .NET uygulamasını dağıtmak için uygulamanızı ve IronWord kütüphaneleri dahil tüm bağımlılıkları paketlemelisiniz ve Azure App Service'e yüklemelisiniz. Bu süreç için Visual Studio Publish veya Azure DevOps pipelineler gibi araçlar kullanabilirsiniz.

IronWord çalıştırmak için belirli bir Azure hizmetine ihtiyacım var mı?

IronWord standart Azure Uygulama Hizmetlerinde çalıştırılabilir. Bununla birlikte, optimal performans sağlamak için, uygulamanızın gereksinimlerine göre yeterli kaynak sağlayan bir plan önerilir.

IronWord, Azure Functions ile kullanılabilir mi?

Evet, IronWord, sunucusuz bir mimarinin bir parçası olarak Word belgelerini işlemek için Azure Functions ile entegre edilebilir. Azure Function ortamının IronWord için gerekli bağımlılıklara sahip olduğundan emin olun.

IronWord, Azure üzerinde Word belgesi işlemeğini nasıl geliştirebilir?

IronWord, güçlü .NET kütüphaneleri sağlayarak Azure üzerinde Word belgesi işlemeğini geliştirmiştir ve Azure hizmetleri ile kolayca entegre edilebilir. Bu, belgelerin verimli bir şekilde oluşturulması, manipüle edilmesi ve dönüştürülmesini sağlar.

IronWord görevlerini Azure üzerinde otomatikleştirebilir miyim?

Evet, IronWord görevlerini Azure Logic Apps veya Azure Functions kullanarak belirli olaylar veya programlar temelinde tetikleyerek Word belgesi işlemleri üzerinde otomasyon yapabilirsiniz.

IronWord'u Azure üzerinde kullanmanın faydaları nelerdir?

IronWord'u Azure üzerinde kullanmak, ölçeklenebilir ve güvenilir Word belgesi işleme imkanı tanır; Azure'un bulut altyapısını kullanarak büyük hacimlerde belgeleri işleyebilir ve yüksek performansı koruyabilirsiniz.

IronWord'u Azure Blob Depolama ile entegre edebilir miyim?

Evet, IronWord'u Azure Blob Depolama ile entegre edebilir, belgelerinizi saklama ve geri alma işlemlerini gerçekleştirebilir ve Azure ortamınızda sorunsuz bir belge işleme ve saklama yönetimi sağlayabilirsiniz.

IronWord'un Azure üzerinde verimli çalışmasını nasıl sağlarım?

IronWord'un Azure üzerinde verimli çalışmasını sağlamak için iş yükünüze uygun hizmet planını seçin, uygulamanızın kodunu optimize edin ve hata ayıklama ve sorun giderme için uygun hata yönetimi ve günlük kaydı uygulayın.

IronWord'u Azure üzerinde kullanmak için ön koşullar nelerdir?

Azure üzerinde IronWord'u kullanmanın ön koşulları, bir .NET ortamının kurulmuş olması, gerekli izinlerle bir Azure hesabına sahip olmanız ve projenize IronWord kütüphanelerinin eklenmiş olmasıdır.

Kye Stuart
Teknik Yazar

Kye Stuart, Iron Software'de kodlama tutkusunu ve yazma becerisini birleştirir. Yoobee College'da yazılım dağıtımı eğitimi aldıktan sonra, şimdi karmaşık teknoloji kavramlarını net eğitim içeriklerine dönüştürür. Kye sürekli öğrenmeyi değer veriyor ve yeni ...

Daha Fazla Oku
Başlamaya Hazır mısınız?
Nuget İndirmeler 44,829 | Sürüm: 2026.5 just released
Still Scrolling Icon

Hâlâ Kaydırıyor Musunuz?

Hızlıca kanıt ister misiniz? PM > Install-Package IronWord
bir örnek çalıştırın verilerinizi bir Word belgesine dönüştürün.