IronWord'u .NET ile Azure'da Nasıl Çalıştırabilirsiniz

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

IronWord, programlı olarak Word belgeleri 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 bir şekilde çalışır.

IronWord Yükleme

IronWord NuGet paketini resmi NuGet deposundan kurarak başlayın:

Install-Package IronWord

Azure için Barındırma Dikkat Edilecek Hususlar

Doğru Azure Hizmet Seviyesini Seçme

IronWord, tutarlı hesaplama sağlayan Azure hizmet planlarında en iyi performansı gösterir kullanılabilirlik Çoğu küçük ila orta düzey kullanım senaryoları için, Basic (B1) Uygulama Hizmet Planı yeterli Uygulamanız yüksek hacimli Word belgeleri işliyorsa veya karmaşık biçimlendirme görevleri için, Standard (S1) veya daha yüksek kademelere yükseltmeyi düşünün performans darboğazlarından kaçı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 tavsiye edilir) .NET Core 3.1 .NET Standard 2.1

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

Azure'da Docker ile Dağıtım

IronWord ile Konteynerli Dağıtım

Calistirma ortamınız üzerinde maksimum kontrol sağlamak istiyorsanız, IronWord'u Azure Container Instances (ACI) veya Azure Kubernetes Service (AKS) içindeki bir Docker konteynerine dağıtmayı düşünün. Bu size olanak tanır:

  • Şablonları veya statik kaynakları önceden yükleyin
  • Belge işleme ayarlarını yapılandırın
  • İşletim Sistemi düzeyinde 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 ya da manuel DLL dahil etme yoluyla ekleyin.

Azure Fonksiyonları ile Sunucusuz

Azure Functions'ta IronWord Kullanımı

IronWord, .NET 6 veya daha üstünü çalıştıran Azure Functions v4 ile tamamen uyumludur. Bu, hafif, olay güdümlü belge oluşturmayı sağlar — şu senaryolar için mükemmeldir:

HTTP aracılığıyla isteğe bağlı rapor oluşturma

  • Form gönderimlerinden Word belgeleri oluşturma
  • Yapılandırılmış veriyi .docx formatına dönüştürme

Azure Fonksiyonu Örneği: İstek Üzerine Word Belgesi Oluşturma

Aşağıda, bir HTTP isteğine yanıt olarak bir Word belgesi oluşturan ve döndüren bir Azure Function örneği yer almaktadı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ıyla bir Azure Fonksiyonu tanımlarız.
  2. Fonksiyon, bir HTTP GET veya POST isteğiyle tetiklenir ve işlemeye başladığında bir mesaj kaydeder.
  3. "YOUR-LICENSE-KEY" yerine gerçek anahtarinizi koyarak IronWord.License.LicenseKey ayarlayarak IronWord icin lisans anahtarini belirtiriz.
  4. Yeni bir WordDocument, IronWord'in API'si kullanılarak oluşturulur.
  5. Belgeye iki paragraf eklenir — biri statik metin ile, 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, dosyanın indirilmesi için hazır hale getirilerek File.ReadAllBytes kullanılarak bir byte dizisine okunur.
  8. Geçici dosya okunduktan hemen sonra sistemin temiz kalması için silinir.
  9. HttpResponseMessage, dokümanın byte içeriğini indirilebilir bir ek olarak içerecek şekilde oluşturulur.
  10. Content-Disposition başlığı, mevcut tarih ve saati kullanarak indirme dosya adını ayarlar.
  11. Word dosya formatını belirtmek için Content-Type başlığı "application/vnd.openxmlformats-officedocument.wordprocessingml.document" olarak ayarlanır.

Sıkça Sorulan Sorular

Azure üzerinde IronWord kurulumunun ilk adımı nedir?

Azure üzerinde IronWord kurulumunun ilk adımı, bir Azure hesabı oluşturmak, mevcut değilse, ve IronWord kullanarak .NET uygulamanızı dağıtmak için yeni bir Azure Uygulama Hizmeti kurmaktır.

IronWord kullanarak bir .NET uygulamasını Azure'a nasıl dağıtabilirim?

IronWord kullanarak bir .NET uygulamasını Azure'a dağıtabilmek için, uygulamanızın ve bağımlılıklarının, IronWord kütüphanelerini de içerecek şekilde paketlenmesini ve Azure Uygulama Hizmetinize yüklenmesini sağlamalısınız. Bu işlem için Visual Studio Publish veya Azure DevOps boru hatları gibi araçlar kullanabilirsiniz.

IronWord çalıştırmak için belirli bir Azure hizmeti gerekli mi?

IronWord standart Azure Uygulama Hizmetlerinde çalıştırılabilir. Ancak, optimal performans için uygulamanızın gereksinimlerine dayalı olarak yeterli kaynaklar sağlayacak bir plan kullanmanız önerilir.

IronWord, Azure Fonksiyonları ile kullanılabilir mi?

Evet, IronWord, Azure Fonksiyonları ile entegre edilerek, Word belgelerini sunucusuz bir mimarinin parçası olarak işlemek için kullanılabilir. Azure Fonksiyon ortamının IronWord için gerekli bağımlılıkları barındırdığından emin olun.

IronWord, Azure üzerinde Word belge işlemesini nasıl iyileştirir?

IronWord, Azure üzerinde Word belge işlemesini, Azure hizmetleriyle kolayca entegre olabilen güçlü .NET kütüphaneleri sağlayarak, belgelerin verimli bir şekilde oluşturulması, değiştirilmesi ve dönüştürülmesine olanak tanıyarak iyileştirir.

Azure üzerinde IronWord görevlerini otomatikleştirmek için bir yol var mı?

Evet, Azure üzerinde IronWord görevlerini otomatikleştirmek için Azure Logic Apps veya Azure Fonksiyonları kullanarak belirli olaylar veya programlar temelinde Word belge işleme işlemlerini tetikleyebilirsiniz.

Azure üzerinde IronWord kullanmanın faydaları nelerdir?

IronWord'u Azure üzerinde kullanmak, çok sayıda belge işleyebilmek için Azure'un bulut altyapısından yararlanarak, ölçeklenebilir ve güvenilir Word belge işleme sağlar ve yüksek performansı korur.

IronWord'u Azure Blob Storage ile entegre edebilir miyim?

Evet, Azure Blob Storage ile IronWord'u entegre edebilir, Word belgelerini depolayabilir ve alabilir, böylece Azure ortamınızdaki belge işleme ve depolama yönetimini sorunsuz hale getirebilirsiniz.

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

IronWord'un Azure'da 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 sorun giderme için uygun hata yönetimi ve kaydı uygulayın.

Azure üzerinde IronWord'u kullanmanın ön koşulları var mı?

Azure üzerinde IronWord kullanma ön koşulları arasında .NET ortamının kurulmuş olması, gerekli izinlerle birlikte bir Azure hesabı bulunması ve projenizde IronWord kütüphanelerinin bulunması yer alır.

Kye Stuart
Teknik Yazar

Kye Stuart, Iron Software'de kodlama tutkusu ve yazma becerisini birleştirir. Yoobee Koleji'nde yazılım dağıtımı üzerine eğitim almış ve şimdi karmaşık teknoloji kavramlarını net eğitim içeriklerine dönüştürmektedir. Kye, yaşam boyu öğrenmeyi önemser ve yeni teknoloji zorlukları...

Daha Fazlasını Oku
Başlamaya Hazır mısınız?
Nuget İndirmeler 39,467 | Sürüm: 2026.4 just released
Still Scrolling Icon

Hala Kaydiriyor musunuz?

Hızlı bir kanit mi istiyorsunuz? PM > Install-Package IronWord
bir örnek çalıştır verilerinizin bir Word belgesine dönüştüğünü izleyin.