IRONSOFTWAREHOME

Görüntüleri C# ve VB'de PDF Rendering ile DataURI'leri Beşır

Curtis Chau
Curtis Chau
Updated: 4 Haziran 2026

IronPDF ile C# ve VB.NET'te DataURIs kullanarak resimleri doğrudan PDF belgelerine gömün, resim byte'larını base64 dizelerine çevirerek ve HTML işaretleme içinde satır içi olarak dahil ederek harici dosya bağımlılıklarını ortadan kaldırarak sorunsuz PDF render etme.

HTML dizeleri ve belgelerle çalışırken, varlık dizinlerine olan bağımlılıktan kaçınmak genellikle önemlidir. Veri URI düzeni etkili bir çözüm sağlar.

Veri URI düzeni, ayrı dosyalara ihtiyaç duymadan verileri doğrudan HTML veya CSS koduna gömer. DataURIs, resimlerin, dosyaların ve yazı tiplerinin bir HTML belgesine bir dize olarak doğrudan eklenmesine olanak tanır.

Hızlı Başlangıç: VeriURI'ler Kullanarak PDF'lere Görüntü Gömme

IronPDF ile DataURIs kullanarak HTML içeriğini resimleri gömerek PDF belgelerine dönüştürün. Bu kılavuz, basit, verimli kod kullanarak gömülü görüntülerle PDF'leri nasıl işleteceğinizi gösterir. IronPDF, HTML'yi PDF'ye çevirirken görüntü bütünlüğünü korur. İşte DataURI kullanarak PDF belgenize doğrudan bir resmi gömmenin nasıl yapılacağını gösteren basit bir örnek.

  1. 1Install IronPDF with NuGet Package Manager

    PM > Install-Package IronPdf

  2. 2Bu kod parçacığını kopyalayın ve çalıştırın.

    new IronPdf.ChromePdfRenderer.StaticRenderHtmlAsPdf("<img src='data:image/png;base64,...' />").SaveAs("output.pdf");
    C#
  3. 3Canlı ortamınızda test için dağıtım yapın

    Ücretsiz deneme ile bugün projenizde IronPDF kullanmaya başlayın
    arrow pointer

VeriURI'leri Kullanarak PDF'lere Görüntüleri Nasıl Gömülebilirim?

DataURIs kullanarak resimleri doğrudan HTML işaretleme içine eklemek, harici dosyaları referans göstermeden içerir. Bu yaklaşım, bulut ortamlarında, dağıtık sistemlerde veya tüm kaynakların yerleşik olduğundan emin olmak için PDF oluştururken iyi çalışır. IronPDF'nin HTML'den PDF'ye dönüşüm işlemi, gömülü resimlerle profesyonel PDF oluşturmayı sağlayarak DataURIs'yi tam olarak destekler.

Bu süreç üç adım içerir: resim verilerini okuma, onu base64 formatına çevirme ve HTML img etiketi içinde gömme. Bu yöntem, PNG, JPEG, GIF ve SVG dahil olmak üzere çeşitli görüntü formatlarıyla çalışır, böylece PDF oluşturma iş akışlarında esneklik sağlar. Bu teknik, Azure Blob Storage görüntüleri veya yerel dosyalarla çalışırken de tutarlıdır.

Temel Görüntü Gömme Örneği

Bu eksiksiz örnek, bir resmi DataURIs kullanarak PDF'ye gömmeyi gösterir:

using IronPdf;
using System;

// Read byte from image file
var pngBinaryData = System.IO.File.ReadAllBytes("My_image.png");

// Convert bytes to base64
var ImgDataURI = @"data:image/png;base64," + Convert.ToBase64String(pngBinaryData);

// Import base64 to img tag
var ImgHtml = $"<img src='{ImgDataURI}'>";

ChromePdfRenderer Renderer = new ChromePdfRenderer();

// Render the HTML string
var pdf = Renderer.RenderHtmlAsPdf(ImgHtml);

pdf.SaveAs("datauri_example.pdf");

VB.NET geliştiricileri, IronPDF'nin VB.NET PDF kütüphanesi kullanarak aynı işlevselliği elde edebilir:

Imports IronPdf
Imports System

' Read byte from image file
Dim pngBinaryData As Byte() = System.IO.File.ReadAllBytes("My_image.png")

' Convert bytes to base64
Dim ImgDataURI As String = "data:image/png;base64," & Convert.ToBase64String(pngBinaryData)

' Import base64 to img tag
Dim ImgHtml As String = $"<img src='{ImgDataURI}'>"

Dim Renderer As New ChromePdfRenderer()

' Render the HTML string
Dim pdf = Renderer.RenderHtmlAsPdf(ImgHtml)

pdf.SaveAs("datauri_example.pdf")
VB .NET

Dosya Referansları Yerine Neden VeriURIs Kullanmalıyım?

DataURIs, PDF oluştururken geleneksel dosya referanslarına kıyasla birçok avantaj sunar. Öncelikle, harici dosyalara olan bağımlılığı ortadan kaldırır, böylece PDF oluşturma daha güvenilir ve taşınabilir hale gelir. Bu, dosya sistemi erişiminin sınırlı olduğu veya performans açısından hassas olduğu Azure veya AWS Lambda gibi bulut ortamlarında çok önemlidir.

İkincisi, DataURIs, PDF'lerin tamamen bağımsız olmasını sağlar. Oluşturulan PDF'leri paylaşırken veya dağıtırken, kırık resim bağlantıları veya eksik kaynaklar endişe sebebi değildir. Bu, DataURIs'yi, raporlar, faturalar veya arşivleme veya e-posta ile dağıtım gerektiren belgeler oluşturmak için ideal kılar.

Üçüncüsü, DataURIs belirli senaryolarda performansı artırabilir. Görüntü verileri HTML'de doğrudan gömüldüğü için, işleme sırasında ek HTTP istekleri veya dosya sistemi işlemleri gerçekleşmez. Bu, özellikle çok küçük görüntülerle uğraşırken daha hızlı PDF oluşturma sağlar.

Hangi Görüntü Formatları Destekleniyor?

IronPDF, DataURIs aracılığıyla tüm önemli resim formatlarını destekler, PDF oluşturma iş akışlarında esneklik sağlar:

  • PNG: Şeffaflık veya keskin kenarlı grafikler içeren görüntüler için idealdir. data:image/png;base64, kullanın
  • JPEG: Birçok renk içeren fotoğraflar ve karmaşık görüntüler için en iyisidir. data:image/jpeg;base64, kullanın
  • GIF: Basit animasyonlar veya sınırlı renk içeren görüntüler için uygundur. data:image/gif;base64, kullanın
  • SVG: Ölçeklenebilir vektör grafikleri için mükemmeldir. data:image/svg+xml;base64, kullanın
  • WebP: Mükemmel sıkıştırma ile modern format. data:image/webp;base64, kullanın

Farklı görüntü formatlarını nasıl ele alacağınızı gösteren aşağıdaki örnek:

using IronPdf;
using System;
using System.IO;

public class MultiFormatImageEmbedding
{
    public static void EmbedVariousImageFormats()
    {
        var renderer = new ChromePdfRenderer();
        
        // Function to create DataURI from image file
        string CreateDataUri(string filePath, string mimeType)
        {
            var imageBytes = File.ReadAllBytes(filePath);
            return $"data:{mimeType};base64,{Convert.ToBase64String(imageBytes)}";
        }
        
        // Create HTML with multiple image formats
        var html = $@"
        <html>
        <body>
            <h1>Multi-Format Image Test</h1>
            <img src='{CreateDataUri("logo.png", "image/png")}' alt='PNG Logo' />
            <img src='{CreateDataUri("photo.jpg", "image/jpeg")}' alt='JPEG Photo' />
            <img src='{CreateDataUri("icon.svg", "image/svg+xml")}' alt='SVG Icon' />
        </body>
        </html>";
        
        var pdf = renderer.RenderHtmlAsPdf(html);
        pdf.SaveAs("multi_format_images.pdf");
    }
}

Mevcut PDF'lere resim ekleme dahil gelişmiş görüntü işleme için IronPDF kapsamlı destek sunar.

Base64 Kodlaması Dosya Boyutunu Nasıl Etkiler?

Base64 kodlaması veri boyutunu yaklaşık %33 artırır. Base64, yalnızca 64 ASCII karakteri kullanarak ikili verileri temsil eder ve orijinal verilerin her 3 baytını temsil etmek için 4 karakter gerektirir. Bu, toplam boyutu artırsa da, kendi içinde yerleşik belgelerin yararlarına kıyasla PDF oluşturma üzerindeki etkisi genellikle minimumdur.

DataURIs kullanırken dosya boyutlarını optimize etmek için bu uygulamaları izleyin:

  1. Görüntüleri kodlamadan önce sıkıştırın: Base64'e dönüştürmeden önce görüntü dosyalarını optimize etmek için araçlar veya kütüphaneler kullanın
  2. Uygun formatları seçin: Fotoğraflar için JPEG, şeffaflığa sahip grafikler için PNG kullanın
  3. Görüntüleri uygun şekilde yeniden boyutlandırın: PDF çıktısı için gerektiğinden daha büyük görüntüler gömmeyin
  4. PDF sıkıştırmayı düşünün: Oluşturma sonrası IronPDF'nin sıkıştırma özelliklerini kullanın

Bu örnek, gömme öncesi görüntü optimizasyonunu gösterir:

using IronPdf;
using System;
using System.Drawing;
using System.Drawing.Imaging;
using System.IO;

public class OptimizedImageEmbedding
{
    public static void EmbedOptimizedImage(string imagePath, int maxWidth = 800)
    {
        // Load and resize image if necessary
        using (var originalImage = Image.FromFile(imagePath))
        {
            var resizedImage = originalImage;
            
            if (originalImage.Width > maxWidth)
            {
                var ratio = (double)maxWidth / originalImage.Width;
                var newHeight = (int)(originalImage.Height * ratio);
                resizedImage = new Bitmap(originalImage, maxWidth, newHeight);
            }
            
            // Convert to optimized JPEG
            using (var ms = new MemoryStream())
            {
                var encoder = ImageCodecInfo.GetImageEncoders()
                    .First(c => c.FormatID == ImageFormat.Jpeg.Guid);
                var encoderParams = new EncoderParameters(1);
                encoderParams.Param[0] = new EncoderParameter(
                    System.Drawing.Imaging.Encoder.Quality, 85L);
                
                resizedImage.Save(ms, encoder, encoderParams);
                var imageBytes = ms.ToArray();
                
                // Create DataURI
                var dataUri = $"data:image/jpeg;base64,{Convert.ToBase64String(imageBytes)}";
                
                // Generate PDF
                var html = $@"
                <html>
                <body>
                    <h1>Optimized Image Example</h1>
                    <img src='{dataUri}' style='max-width: 100%;' />
                </body>
                </html>";
                
                var renderer = new ChromePdfRenderer();
                var pdf = renderer.RenderHtmlAsPdf(html);
                pdf.SaveAs("optimized_image.pdf");
            }
            
            if (resizedImage != originalImage)
                resizedImage.Dispose();
        }
    }
}

Bu türden favori kütüphanem IronPDF'dir. PDF dosyalarının hızlı ve verimli bir şekilde işlenmesine olanak tanır. Ayrıca, PDF/A formatına dışa aktarma ve dijital imzalama gibi birçok değerli özelliğe sahiptir.

Milan Jovanovic

Microsoft MVP

Vaka çalışmasını görüntüle

IronOCR, manuel işleme maliyetinden yıllık 40.000 USD tasarruf etmemizi sağlıyor, üretkenliği artırıyor ve yüksek etkili görevler için kaynakları serbest bırakıyor. Kesinlikle tavsiye ederim.

Brent Matzelle

Teknoloji Müdürü, OPYN

Vaka çalışmasını görüntüle

IronSuite, operasyonlarımızda kritik bir rol oynar. Bunlar, iş süreçlerinde verimliliği artıran, kat planları oluşturmak ve envanter yönetimini geliştirmek gibi araçlardır.

David Jones

Baş Yazılım Mühendisi, Agorus Build

Vaka çalışmasını görüntüle

Gelişmiş Teknikler ve En İyi Uygulamalar

Üretim ortamlarında DataURIs ile çalışırken, aynı resimlerin tekrar tekrar kodlanmasını önlemek için önbellekleme mekanizmalarını uygulayın. Bu, paylaşılan kaynaklarla birden fazla PDF oluştururken özellikle önemlidir. Birden çok resmi işlerken daha iyi performans için IronPDF'nin async yeteneklerinden yararlanın.

Birçok resim içeren karmaşık belgeler için, kritik resimleri DataURIs olarak yerleştirirken, daha büyük, isteğe bağlı resimleri harici olarak referans göstermek için hibrit bir yaklaşım kullanın. Bu, kendi başına bütünleşik belgeler ile makul dosya boyutlarını dengeler.

IronPDF'nin ASP.NET MVC Entegrasyonu'nu kullanarak bir HTML Dizesi veya PDF belgesinin tamamını Bayt Dizisi olarak da sunabilirsiniz. Bu teknik, önceden oluşturulmuş ve PDF'ler olarak sunulan web uygulamaları oluştururken iyi çalışır.

Sayfa numaralandırma, dijital imza ve form oluşturma gibi gelişmiş PDF manipülasyon teknikleri için IronPDF, sağlam PDF çözümleri oluşturmak için kapsamlı dokümantasyon ve örnekler sunar.


C# veya VB.NET projelerinizde IronPdf ad alanını dahil etmek için using IronPdf direktifini kullanın.

AddBookmarkAtEnd yöntemi, PDF anahatına yeni yer imleri eklemek için kullanılır.

Sıkça Sorulan Sorular

DataURI'ler nedir ve neden PDF oluşturma için kullanılır?

DataURI'ler, verileri HTML veya CSS koduna base64 kodlanmış dizeler olarak doğrudan gömerek ayrı resim dosyalarına olan ihtiyacı ortadan kaldıran bir şemadır. IronPDF, DataURI'leri tam olarak destekler, bu da onları bulut ortamları, dağıtılmış sistemler veya dış dosya bağımlılıkları olmaksızın kendinden bağımsız PDF'lere ihtiyaç duyduğunuz durumlar için ideal hale getirir.

Bir resmi PDF gömme için DataURI formatına nasıl dönüştürebilirim?

IronPDF ile, bir resmi DataURI'ye dönüştürme üç adımda gerçekleşir: Öncelikle, resmi System.IO.File.ReadAllBytes() kullanarak baytlar olarak okuyun. İkinci olarak, baytları Convert.ToBase64String() ile base64'e dönüştürün. Son olarak, base64 dizgisini 'data:image/png;base64,[base64string]' formatında bir HTML img etiketine gömün.

Görüntüleri DataURI olarak gömerken desteklenen resim formatları nelerdir?

IronPDF, PNG, JPEG, GIF ve SVG dahil çeşitli resim formatlarını DataURI olarak gömmeyi destekler. Bu esneklik, farklı resim türleriyle çalışmanıza olanak tanırken PDF oluşturma iş akışınızı tamamen kontrol etmenizi sağlar.

Tek bir PDF'de birden fazla resmi DataURI kullanarak gömebilir miyim?

Evet, IronPDF tek bir PDF belgesinde birden fazla resmi DataURI kullanarak gömmenize izin verir. Her resmi base64 temsiline dönüştürün ve IronPDF'nin ChromePdfRenderer'ı ile işlemden önce HTML işaretlemenize dahil edin.

Dosya referansları yerine DataURI kullanmanın bir performans etkisi var mı?

DataURI'ler base64 kodlama nedeniyle HTML dizesinin boyutunu artırsa da, IronPDF dönüşümü verimli bir şekilde işler. Özellikle bulut veya dağıtılmış ortamlarda dış bağımlılıkları olmayan kendinden bağımsız PDF'lere ihtiyaç duyduğunuzda, bu değişiklik değerlidir.

What are the steps to convert an image to a DataURI for embedding?

To convert an image to a DataURI, read the image bytes using a method like ReadAllBytes, convert these bytes to a base64 string with ToBase64String, then form a DataURI by prepending the mime type, such as 'data:image/png;base64,'. Use this as the src in an HTML img tag within your PDF rendering code.

How can I optimize images when using DataURIs in PDFs?

Optimize images by compressing them before encoding to base64, choosing the appropriate image format, and resizing images to reduce unnecessary file size. Additionally, IronPDF's PDF compression features can help manage file sizes after generation.

Can I handle multiple image formats in a single PDF using DataURIs with IronPDF?

Yes, you can handle multiple image formats by creating DataURIs for each format and including them within an HTML document. IronPDF can render this HTML into a PDF, preserving each image format such as PNG, JPEG, and SVG within the same document.

What are the advantages of using IronPDF for embedding images with DataURIs?

IronPDF simplifies the process of embedding images with DataURIs by offering seamless conversion of HTML with inline images to PDFs. It supports robust PDF generation, including advanced features like compression and dynamic content processing suitable for professional use.

How can I improve performance when generating PDFs with multiple images?

Improve performance by caching encoded DataURI images, using async capabilities, and considering a hybrid approach where critical images are embedded while larger images are referenced externally. This keeps PDFs efficient without compromising on essential embedded content.

Curtis Chau
Teknik Yazar

Curtis Chau, Bilgisayar Bilimleri alanında Lisans Derecesine (Carleton Üniversitesi) sahip ve Node.js, TypeScript, JavaScript ve React konularında uzmanlaşmış ön uç geliştirmeyle ilgileniyor. Sezgisel ve estetik açıdan hoş kullanıcı arayüzleri oluşturma tutkunu, Curtis modern çerçevelerle çalışmayı ve iyi yapılandırılmış, görsel olarak çekici kılavuzlar oluşturmayı seviyor.

...
Daha Fazla Oku

Başlamaya Hazır mısınız?

Nuget Downloads 20,756,830Sürüm:2026.7yeni yayınlandı

ÜCRETSİZİNİZİ EDİNİN

30 günlük Deneme Anahtarınızı anında edinin.

bullet_checkedKredi kartı veya hesap oluşturma gerektirmez
bullet_testÜretimde Test
filigran olmadan
bullet_calendar30 gün tamamen
işlevsel ürün
bullet_supportDeneme sırasında teknik
24/5 destek
Ücretsiz 30 Günlük Deneme Anahtarınızı anında alın.
Kredi kartı veya hesap oluşturma gerektirmez
PDF için C# NuGet Kütüphanesi
NuGet ile yükleyin

Sürüm: 2026.7

PM > Install-Package IronPdf
nuget.org/packages/IronPdf/
  1. Çözüm Gezgini'nde Referanslar'a sağ tıklayın, NuGet Paketlerini Yönet
  2. Tarayıcıya tıklayın ve "IronPdf" arayın
  3. Paketi seçin ve yükleyin
C# PDF DLL
DLL İndir

Sürüm: 2026.7

veya Windows Yükleyiciyi şuradan buradan indirin.

  1. IronPDF'i, ~/Libs gibi bir yere, Solution dizininiz içinde indirin ve açın.
  2. Visual Studio Çözüm Gezgini'nde, Referanslar'a sağ tıklayın. Tarayıcı sekmesini seçin, "IronPdf.dll"

Lisanslar $999

Key in blue circle

Ücretsiz 30 günlük Deneme Anahtarınızı anında edinin.

Your trial license will be sent to your email address

Herhangi bir sınırlama yoktur. %100 erişim. Kredi kartı gerekmez.

bullet_checkedKredi kartı veya hesap oluşturma gerektirmezHerhangi bir sınırlama yoktur. %100 erişim. Kredi kartı gerekmez.
  • Logo Aetna
  • Logo NASA
  • Logo GE
  • Logo Porsche
  • Logo USDA
  • Logo Qatar
Join Millions of Engineers who’ve tried IronPDF
Ücretsiz Canlı Demo rezervasyonu yapın
Booking Badge

Dünya Çapında Milyonlarca Mühendisin Güvendiği

Iron Software müşteri logoları
Bağımsız Danışmanlık Alın
Aşağıdaki formu doldurun veya sales@ironsoftware.com adresine e-posta gönderin
Bilgileriniz daima gizli kalacaktır.
Dünya Çapında Milyonlarca Mühendisin Güvendiği
Iron Software müşteri logoları
Ücretsiz 30 Günlük Deneme Anahtarınızı anında alın.
Kredi kartı veya hesap oluşturma gerektirmez