C#
MIT License
.NET 9
NuGet

PDF Dönüşüm
Servisi

Playwright (Chromium) ve PdfSharpCore ile geliştirilmiş, hafif ve yüksek kaliteli HTML → PDF dönüşüm mikroservisi. wkhtmltopdf'den modern altyapıya kolayca geçin.

Docker ile Başlangıç
# Docker ile Çalıştırma
docker build -t mersel-htmltopdf .
docker run -p 5090:8080 mersel-htmltopdf

# Servis: http://localhost:5090
# Scalar UI: http://localhost:5090/scalar/v1
API Endpoints
POST/convert
POST/convert/merge
GET/health
GET/metrics

Özellikler

Modern, hızlı ve ölçeklenebilir PDF dönüşüm altyapısı

HTML → PDF Dönüşüm

Playwright (Chromium) ile yüksek kaliteli, tekli ve çoklu HTML → PDF dönüşümü

PDF Birleştirme

Birden fazla HTML kaynağını tek bir PDF dosyasında birleştirme desteği

wkhtmltopdf Uyumlu

Mevcut wkhtmltopdf preset'leri ile kolay geçiş, minimum kod değişikliği

İstemci SDK

.NET için hazır NuGet paketi (MERSEL.Services.HtmlToPdf.Client)

Yatay Ölçeklenebilir

Stateless mimari, load balancer arkasında çalışır, bağımsız ölçeklenir

Observability

OpenTelemetry + Prometheus metrikleri, hazır Grafana dashboard

Kullanım Örnekleri

REST API veya .NET SDK ile kolayca entegre edin

Tekli PDF Dönüşümü
# Tekli HTML → PDF Dönüşümü
curl -X POST http://localhost:5090/convert \
  -F "file=@fatura.html" \
  -o cikti.pdf

# Özel ayarlarla (landscape, akıllı küçültme)
curl -X POST "http://localhost:5090/convert?landscape=true&smartShrinking=true" \
  -F "file=@rapor.html" \
  -o rapor.pdf
Çoklu PDF Birleştirme
# Birden Fazla HTML → Tek PDF
curl -X POST http://localhost:5090/convert/merge \
  -F "files=@sayfa1.html" \
  -F "files=@sayfa2.html" \
  -F "files=@sayfa3.html" \
  -o birlesmis.pdf
.NET İstemci SDK
// .NET İstemci SDK Kullanımı
public class FaturaServisi(IHtmlToPdfConverter pdfConverter)
{
    public async Task<byte[]> FaturaPdfOlustur(string html)
    {
        var htmlBytes = Encoding.UTF8.GetBytes(html);
        return await pdfConverter.ConvertAsync(htmlBytes);
    }

    // wkhtmltopdf uyumlu preset ile
    public async Task<byte[]> EFaturaPdf(string html)
    {
        var htmlBytes = Encoding.UTF8.GetBytes(html);
        return await pdfConverter.ConvertAsync(
            htmlBytes, PdfConvertOptions.WkHtmlCompatible);
    }
}
Kolay Geçiş

wkhtmltopdf'den Geçiş

wkhtmltopdf artık bakım almıyor ve modern web standartlarını desteklemiyor. html-to-pdf, uyumlu preset'ler sayesinde minimum değişiklikle geçiş yapmanızı sağlar.

  • wkhtmltopdf uyumlu parametre preset'leri
  • Modern Chromium rendering motoru
  • CSS Grid, Flexbox, modern font desteği
  • Daha iyi performans ve bellek yönetimi

Neden Geçiş Yapmalısınız?

Rendering MotoruChromium (Güncel)
CSS DesteğiGrid, Flexbox, Modern
Bakım DurumuAktif Geliştirme
GüvenlikGüncel Yamalar

Gereksinimler

.NET
9.0+
Docker
Önerilen
Playwright
Otomatik

Hemen Başlayın

Docker ile birkaç dakikada yüksek kaliteli PDF dönüşüm servisi kurun. .NET SDK ile uygulamalarınıza kolayca entegre edin.