Altbilgi içeriğine atla
IRONPDF KULLANARAK

C# IronPDF (.NET 10) ile Varsayılan Görüntüleyicide PDF Aci

Varsayılan görüntüleyiciyle bir PDF açmak, .NET uygulama geliştirmede yaygın bir işlemdir. IronPDF ile PDF dosyalarını programatik olarak oluşturduktan sonra, bunları kullanıcıların seçtiği varsayılan uygulamada hemen görüntüleme ihtiyaçı sıkça doğar - Adobe Acrobat veya Microsoft Edge gibi. Bu kılavuz, IronPDF kullanarak PDF dosyalarını oluşturmak ve Windows'ta onları otomatik olarak System.Diagnostics.Process.Start ile açmak için adımları anlatıyor.

IronPDF'nin güçlü HTML'den PDF'e dönüştürme yeteneklerini basit Process başlatma yöntemiyle birleştirmek, kullanıcının makinesinde varsayılan olarak yapılandırılan uygulamada profesyonel PDF dosyalarını oluşturmak ve görüntülemek için pratik bir iş akışı oluşturur.

Nasıl IronPDF'i .NET Projesine Kurarsınız?

Herhangi bir PDF oluşturmadan veya açmadan önce, projenizde IronPDF'nin yüklü olması gerekmektedir. NuGet Paket Yöneticisi Konsolu veya .NET CLI'yi kullanın:

Install-Package IronPdf
dotnet add package IronPdf
Install-Package IronPdf
dotnet add package IronPdf
SHELL

Kurulumdan sonra, lisans anahtarınızı ekleyin veya tam işlevselliği etkinleştirmek için ücretsiz deneme ile başlayın. IronPDF belgeleri, NuGet aracılığıyla yükleme dahil olmak üzere tüm yapılandırma seçeneklerini ayrıntılı şekilde kapsar.

Kurulumdan sonra, HTML'den PDF'e dönüşüm, URL işleme, PDF birleştirme, filigranlama, dijital imzalama ve daha fazlasını içeren IronPDF özelliklerinin tüm setine erişiminiz olacaktır.

Bir PDF Dosyasını Nasıl Oluşturup Açarsınız?

En basit yaklaşım üç adım içerir:

  1. IronPDF ile bir PDF belgesi oluşturun.
  2. Dosyayı bir dizine kaydedin.
  3. PDF'yi varsayılan uygulamada Process.Start kullanarak açın.

Visual Studio'da yeni bir Konsol Uygulaması projesi ile deneyebileceğiniz tam çalışan bir örnek:

using IronPdf;
using System.Diagnostics;

// Create a new PDF renderer
var renderer = new ChromePdfRenderer();

// Generate PDF from HTML content
var pdf = renderer.RenderHtmlAsPdf(@"
    <html>
        <body>
            <h1>Invoice #12345</h1>
            <p>Generated on: " + DateTime.Now.ToString("yyyy-MM-dd") + @"</p>
            <table>
                <tr><td>Product</td><td>Price</td></tr>
                <tr><td>IronPDF License</td><td>$299</td></tr>
            </table>
        </body>
    </html>");

// Save the PDF to a file
string outputPath = "invoice.pdf";
pdf.SaveAs(outputPath);

// Open the PDF in the default viewer
Process.Start(new ProcessStartInfo
{
    FileName = outputPath,
    UseShellExecute = true
});
using IronPdf;
using System.Diagnostics;

// Create a new PDF renderer
var renderer = new ChromePdfRenderer();

// Generate PDF from HTML content
var pdf = renderer.RenderHtmlAsPdf(@"
    <html>
        <body>
            <h1>Invoice #12345</h1>
            <p>Generated on: " + DateTime.Now.ToString("yyyy-MM-dd") + @"</p>
            <table>
                <tr><td>Product</td><td>Price</td></tr>
                <tr><td>IronPDF License</td><td>$299</td></tr>
            </table>
        </body>
    </html>");

// Save the PDF to a file
string outputPath = "invoice.pdf";
pdf.SaveAs(outputPath);

// Open the PDF in the default viewer
Process.Start(new ProcessStartInfo
{
    FileName = outputPath,
    UseShellExecute = true
});
Imports IronPdf
Imports System.Diagnostics

' Create a new PDF renderer
Dim renderer As New ChromePdfRenderer()

' Generate PDF from HTML content
Dim pdf = renderer.RenderHtmlAsPdf("
    <html>
        <body>
            <h1>Invoice #12345</h1>
            <p>Generated on: " & DateTime.Now.ToString("yyyy-MM-dd") & "</p>
            <table>
                <tr><td>Product</td><td>Price</td></tr>
                <tr><td>IronPDF License</td><td>$299</td></tr>
            </table>
        </body>
    </html>")

' Save the PDF to a file
Dim outputPath As String = "invoice.pdf"
pdf.SaveAs(outputPath)

' Open the PDF in the default viewer
Process.Start(New ProcessStartInfo With {
    .FileName = outputPath,
    .UseShellExecute = True
})
$vbLabelText   $csharpLabel

Bu kod, IronPDF'nin HTML'yi PDF'e dönüştürmek için birinci sınıfı olan ChromePdfRenderer örneğini önce oluşturur. RenderHtmlAsPdf metodu, HTML dizgisini bir PDF döküman nesnesine dönüştürür. Bu yaklaşım hakkında daha fazla bilgi için IronPDF'nin HTML'den PDF'e kılavuzuna bakın.

SaveAs kullanılarak PDF kaydedildikten sonra, kod Process.Start ile ProcessStartInfo kullanarak dosyayı varsayılan PDF görüntüleyicisinde açar. Buradaki ana ayar, PDF dosyasını varsayılan uygulamasıyla açması için Windows'a talimat veren UseShellExecute = true ayarıdır.

Çıktı

Aşağıda gösterildiği gibi, IronPDF başarılı bir şekilde PDF dosyasını oluşturur ve sistemde yapılandırılmış varsayılan görüntüleyici (bu durumda Opera GX) kullanarak görüntüler.

C#'ta PDF'yi Varsayılan Görüntüleyici ile Açma: Şekil 1 - Varsayılan görüntüleyici kullanılarak görüntülenen PDF

En Üst Düzey İfadeler Neden Önemlidir?

.NET 10 ve modern C# sürümleri ile üst düzey ifadeler Program sınıfı sarmalamasının gerekliliğini ortadan kaldırır. Kod dosyanın üstünden direkt olarak çalışır, örneklerin daha kısa ve takip edilmesi kolay hale gelmesini sağlar. Bu kılavuzdaki tüm örnekler bu deseni kullanır.

PDF Belgelerini Açarken UseShellExecute Neden Önemlidir?

.NET Core ve modern .NET sürümlerinde (.NET 5'ten .NET 10'a kadar), UseShellExecute parametresi varsayılan olarak false şeklindedir. Bunu açıkça true olarak ayarlamazsanız, uygulamanız bir PDF dosyasını başlatmaya çalıştığında bir hata fırlatacaktır.

using IronPdf;
using System.Diagnostics;
using System.IO;

// Generate a report with IronPDF
var renderer = new ChromePdfRenderer();
renderer.RenderingOptions.MarginTop = 50;
renderer.RenderingOptions.MarginBottom = 50;

var pdf = renderer.RenderUrlAsPdf("https://en.wikipedia.org/wiki/Main_Page");

// Save to temp directory for immediate viewing
string tempPath = Path.Combine(Path.GetTempPath(), $"URL_{Guid.NewGuid()}.pdf");
pdf.SaveAs(tempPath);

// IMPORTANT: Set UseShellExecute = true for .NET Core/5+
var startInfo = new ProcessStartInfo
{
    FileName = tempPath,
    UseShellExecute = true  // Required in .NET Core/5+ to open PDF in default viewer
};
Process.Start(startInfo);
using IronPdf;
using System.Diagnostics;
using System.IO;

// Generate a report with IronPDF
var renderer = new ChromePdfRenderer();
renderer.RenderingOptions.MarginTop = 50;
renderer.RenderingOptions.MarginBottom = 50;

var pdf = renderer.RenderUrlAsPdf("https://en.wikipedia.org/wiki/Main_Page");

// Save to temp directory for immediate viewing
string tempPath = Path.Combine(Path.GetTempPath(), $"URL_{Guid.NewGuid()}.pdf");
pdf.SaveAs(tempPath);

// IMPORTANT: Set UseShellExecute = true for .NET Core/5+
var startInfo = new ProcessStartInfo
{
    FileName = tempPath,
    UseShellExecute = true  // Required in .NET Core/5+ to open PDF in default viewer
};
Process.Start(startInfo);
Imports IronPdf
Imports System.Diagnostics
Imports System.IO

' Generate a report with IronPDF
Dim renderer As New ChromePdfRenderer()
renderer.RenderingOptions.MarginTop = 50
renderer.RenderingOptions.MarginBottom = 50

Dim pdf = renderer.RenderUrlAsPdf("https://en.wikipedia.org/wiki/Main_Page")

' Save to temp directory for immediate viewing
Dim tempPath As String = Path.Combine(Path.GetTempPath(), $"URL_{Guid.NewGuid()}.pdf")
pdf.SaveAs(tempPath)

' IMPORTANT: Set UseShellExecute = true for .NET Core/5+
Dim startInfo As New ProcessStartInfo With {
    .FileName = tempPath,
    .UseShellExecute = True  ' Required in .NET Core/5+ to open PDF in default viewer
}
Process.Start(startInfo)
$vbLabelText   $csharpLabel

UseShellExecute özelliği, süreci başlatmak için işletim sistemi kabuğunu kullanıp kullanmayacağını belirler. true olarak ayarlandığında, Windows dosya ilişkilendirme kaydını kullanarak hangi varsayılan PDF okuyucusunun dosyayı açması gerektiğini belirler. Bu ayar modern .NET sürümlerinde olmadan dosyanın açılamayacağına dair bir çalışma zamanı hatası ile karşılaşırsınız.

Guid.NewGuid() üzerinden benzersiz bir dosya adı ile geçici bir dizin kullanmak, hızlı bir şekilde birden fazla PDF oluştururken dosya çakışmalarını önler. Varsayılan geçici klasör, işletim sistemi tarafından düzenli bir program doğrultusunda otomatik olarak temizlenir.

Çıktı

C#'ta PDF'yi Varsayılan Görüntüleyici ile Açma: Şekil 2 - URL'den oluşturulan ve varsayılan görüntüleyici kullanılarak gösterilen PDF

Dosya Yollarını Doğru Bir Şekilde Nasıl Ele Alırsınız?

Boşluklar ve özel karakterler içeren dosya yolları dikkatli bir işlem gerektirir. Kaybolan bir dizin veya hatalı bir yol Process.Start'ya ulaşılmadan önce sessizce başarısız olur veya bir istisna atar. İşte dizin oluşturma ve dosya varlığını kontrol etme içeren bir yaklaşım:

using IronPdf;
using System.Diagnostics;
using System.IO;

// Generate PDF from HTML file
var renderer = new ChromePdfRenderer();
var htmlContent = File.ReadAllText("template.html");
var pdf = renderer.RenderHtmlAsPdf(htmlContent);

// Create output directory if it doesn't exist
string outputDir = @"C:\PDF Reports\Monthly";
Directory.CreateDirectory(outputDir);

// Build file path with timestamp
string fileName = $"Report_{DateTime.Now:yyyyMMdd_HHmmss}.pdf";
string fullPath = Path.Combine(outputDir, fileName);

// Save the PDF
pdf.SaveAs(fullPath);

// Verify file exists before opening in default PDF viewer
if (File.Exists(fullPath))
{
    Process.Start(new ProcessStartInfo
    {
        FileName = fullPath,
        UseShellExecute = true
    });
}
else
{
    Console.WriteLine($"Error: PDF file not found at {fullPath}");
}
using IronPdf;
using System.Diagnostics;
using System.IO;

// Generate PDF from HTML file
var renderer = new ChromePdfRenderer();
var htmlContent = File.ReadAllText("template.html");
var pdf = renderer.RenderHtmlAsPdf(htmlContent);

// Create output directory if it doesn't exist
string outputDir = @"C:\PDF Reports\Monthly";
Directory.CreateDirectory(outputDir);

// Build file path with timestamp
string fileName = $"Report_{DateTime.Now:yyyyMMdd_HHmmss}.pdf";
string fullPath = Path.Combine(outputDir, fileName);

// Save the PDF
pdf.SaveAs(fullPath);

// Verify file exists before opening in default PDF viewer
if (File.Exists(fullPath))
{
    Process.Start(new ProcessStartInfo
    {
        FileName = fullPath,
        UseShellExecute = true
    });
}
else
{
    Console.WriteLine($"Error: PDF file not found at {fullPath}");
}
Imports IronPdf
Imports System.Diagnostics
Imports System.IO

' Generate PDF from HTML file
Dim renderer As New ChromePdfRenderer()
Dim htmlContent As String = File.ReadAllText("template.html")
Dim pdf = renderer.RenderHtmlAsPdf(htmlContent)

' Create output directory if it doesn't exist
Dim outputDir As String = "C:\PDF Reports\Monthly"
Directory.CreateDirectory(outputDir)

' Build file path with timestamp
Dim fileName As String = $"Report_{DateTime.Now:yyyyMMdd_HHmmss}.pdf"
Dim fullPath As String = Path.Combine(outputDir, fileName)

' Save the PDF
pdf.SaveAs(fullPath)

' Verify file exists before opening in default PDF viewer
If File.Exists(fullPath) Then
    Process.Start(New ProcessStartInfo With {
        .FileName = fullPath,
        .UseShellExecute = True
    })
Else
    Console.WriteLine($"Error: PDF file not found at {fullPath}")
End If
$vbLabelText   $csharpLabel

Bu kod, en iyi uygulamalardan birkaçını gösterir: işletim sisteminden bağımsız olarak dosya yollarını doğru bir şekilde Path.Combine kullanarak oluşturmak, gerektiğinde dizinleri Directory.CreateDirectory ile oluşturmak ve PDF'yi varsayılan görüntüleyicide açmaya çalışmadan önce dosya varlığını doğrulamak.

Dosya adındaki zaman damgası benzersizliği garanti eder ve her PDF'nin ne zaman oluşturulduğuna dair net bir kayıt sağlar. PDF'leri birleştirme veya bölme, filigran ekleme, dijital imzalama ve başlık ve altbilgi gibi gelişmiş manipülasyon seçenekleri için IronPDF'nin nasıl yapılır kılavuzlarına göz atın.

Boşluk İçeren Yollar Ne Olacak?

Path.Combine, yolları kabuk genişletmesine güvenmek yerine dizgiler olarak oluşturduğu için alanları doğru bir şekilde işler. ProcessStartInfo sınıfı aynı zamanda UseShellExecute = true yaparken tırnaklı yolları da doğru bir şekilde işler. Eğer bir yolu doğrudan bir kabuk komutuna aktarırsanız, her zaman çift tırnak içine alın. Process.Start ile FileName özelliği manuel tırnaklama gerektirmez.

Üretim-Düzleminde En İyi Uygulamaları Nasıl Uygularsınız?

Üretim uygulamaları için, hata işleme, yapılandırılabilir işleme seçenekleri ve öngörülebilir çıktı dizinleriyle PDF yaşam döngüsünü ele alan daha tam bir iş akışını düşünün:

using IronPdf;
using IronPdf.Rendering;
using System.Diagnostics;
using System.IO;

static void GenerateAndDisplayPdf(string htmlContent, string documentName)
{
    try
    {
        // Configure IronPDF renderer with production settings
        var renderer = new ChromePdfRenderer
        {
            RenderingOptions = new ChromePdfRenderOptions
            {
                PaperSize = PdfPaperSize.A4,
                PrintHtmlBackgrounds = true,
                CreatePdfFormsFromHtml = true
            }
        };

        // Generate the PDF
        var pdf = renderer.RenderHtmlAsPdf(htmlContent);

        // Use the user's Documents folder for better accessibility
        string documentsPath = Environment.GetFolderPath(
            Environment.SpecialFolder.MyDocuments);
        string pdfFolder = Path.Combine(documentsPath, "Generated PDFs");
        Directory.CreateDirectory(pdfFolder);
        string outputPath = Path.Combine(pdfFolder, $"{documentName}.pdf");

        pdf.SaveAs(outputPath);

        // Open PDF in default viewer without waiting for it to close
        Process.Start(new ProcessStartInfo
        {
            FileName = outputPath,
            UseShellExecute = true  // Essential for opening PDF in default application
        });

        Console.WriteLine($"PDF opened: {outputPath}");
    }
    catch (Exception ex)
    {
        Console.WriteLine($"Error generating or opening PDF: {ex.Message}");
    }
}
using IronPdf;
using IronPdf.Rendering;
using System.Diagnostics;
using System.IO;

static void GenerateAndDisplayPdf(string htmlContent, string documentName)
{
    try
    {
        // Configure IronPDF renderer with production settings
        var renderer = new ChromePdfRenderer
        {
            RenderingOptions = new ChromePdfRenderOptions
            {
                PaperSize = PdfPaperSize.A4,
                PrintHtmlBackgrounds = true,
                CreatePdfFormsFromHtml = true
            }
        };

        // Generate the PDF
        var pdf = renderer.RenderHtmlAsPdf(htmlContent);

        // Use the user's Documents folder for better accessibility
        string documentsPath = Environment.GetFolderPath(
            Environment.SpecialFolder.MyDocuments);
        string pdfFolder = Path.Combine(documentsPath, "Generated PDFs");
        Directory.CreateDirectory(pdfFolder);
        string outputPath = Path.Combine(pdfFolder, $"{documentName}.pdf");

        pdf.SaveAs(outputPath);

        // Open PDF in default viewer without waiting for it to close
        Process.Start(new ProcessStartInfo
        {
            FileName = outputPath,
            UseShellExecute = true  // Essential for opening PDF in default application
        });

        Console.WriteLine($"PDF opened: {outputPath}");
    }
    catch (Exception ex)
    {
        Console.WriteLine($"Error generating or opening PDF: {ex.Message}");
    }
}
Imports IronPdf
Imports IronPdf.Rendering
Imports System.Diagnostics
Imports System.IO

Module PdfGenerator

    Sub GenerateAndDisplayPdf(htmlContent As String, documentName As String)
        Try
            ' Configure IronPDF renderer with production settings
            Dim renderer As New ChromePdfRenderer With {
                .RenderingOptions = New ChromePdfRenderOptions With {
                    .PaperSize = PdfPaperSize.A4,
                    .PrintHtmlBackgrounds = True,
                    .CreatePdfFormsFromHtml = True
                }
            }

            ' Generate the PDF
            Dim pdf = renderer.RenderHtmlAsPdf(htmlContent)

            ' Use the user's Documents folder for better accessibility
            Dim documentsPath As String = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments)
            Dim pdfFolder As String = Path.Combine(documentsPath, "Generated PDFs")
            Directory.CreateDirectory(pdfFolder)
            Dim outputPath As String = Path.Combine(pdfFolder, $"{documentName}.pdf")

            pdf.SaveAs(outputPath)

            ' Open PDF in default viewer without waiting for it to close
            Process.Start(New ProcessStartInfo With {
                .FileName = outputPath,
                .UseShellExecute = True  ' Essential for opening PDF in default application
            })

            Console.WriteLine($"PDF opened: {outputPath}")
        Catch ex As Exception
            Console.WriteLine($"Error generating or opening PDF: {ex.Message}")
        End Try
    End Sub

End Module
$vbLabelText   $csharpLabel

Bu örnek yapılandırılmış hata işlemeyi içerir ve kullanıcıların Belgeler klasörüne PDF'ler kaydeder, bu, uygulamanın nasıl başlatıldığına bakılmaksızın erişilebilir. Ayrıca, IronPDF'yi iş belgeleri için uygun işleme seçenekleri ile yapılandırır: A4 kağıt boyutu, HTML arka plan baskısı etkin ve HTML form elemanlarından otomatik form alanı oluşturma sağlar.

IronPDF'nin etkileşimli PDF formları ve özel filigranlar hakkında daha fazla bilgi edinebilirsiniz.

Yöntem, PDF görüntüleyicinin kapatılmasını beklemez, bu da kullanıcı belgeleri görüntülerken uygulamanızın çalışmaya devam etmesine olanak tanır. Microsoft'un Process.Start belgesine göre, bu yaklaşım uygun kaynak yönetimini sağlar ve uygulamanızın uzun süreli görüntüleyici işlemi üzerinde takılmasını önler. Microsoft Learn üzerindeki ProcessStartInfo sınıf referansı, pencer stili, eylem (aç, yazdır) ve çalışma dizini dahil yapılandırabileceğiniz tüm özelliklerin bir listesini sunar.

C#'ta PDF'yi Varsayılan Görüntüleyici ile Açma: Şekil 3 - PDF üretiminden görüntüleme işlemi iş akışı

İşleme Seçeneklerini Yapılandırma

ChromePdfRenderOptions sınıfı, çıktı PDF üzerinde hassas kontrol sağlar. Yaygın ayarlar şunlardır:

  • KağıtBoyutu -- PdfPaperSize.A4, Letter veya herhangi bir standart boyut olarak ayarlanır.
  • HtmlArkaplanlarıYazdır -- Arkaplan renklerini ve HTML'den gelen görüntüleri işler.
  • CreatePdfFormsFromHtml -- HTML'yi <input> ve <select> öğelerini etkileşimli PDF form alanlarına dönüştürür.
  • ÜstKenarlık / AltKenarlık / SolKenarlık / SağKenarlık -- Sayfa kenarlıklarını milimetre cinsinden kontrol edin.

Bu ayarlar, HTML dizgeleri, yerel HTML dosyaları veya uzak URL'ler işlerseniz işleyin aynı şekilde geçerlidir.

Oluşturulan PDF'lerden Veriyi Nasıl Çıkartırsınız?

Bir PDF oluşturup açtıktan sonra, geri okumanız gereken içerikleri de olabilir. IronPDF, PDF dosyalarından metin çıkarımı destekler, bu da kaydetme, doğrulama veya aşağı akış işlemleri için kullanışlıdır.

Görsel ağırlıklı belgeler için, bireysel sayfaları PNG veya JPEG dosyaları olarak sunmak için PDF'den-görsel-çevrimi kullanabilirsiniz. Bu, ön izleme oluşturma ve küçük resim iş akışlarında yaygındır.

Her iki özellik de aynı IronPDF kütüphanesi aracılığı ile kullanıma açıktır ve ek bağımlılıklar gerektirmez. Tam IronPDF API belgesi, tüm çıkarma ve dönüşüm işlemleri için yöntem düzeyinde referanslar sağlar.

Eğer Hiçbir PDF Görüntüleyici Yüklü Değilse Ne Olur?

Eğer hedef makinede PDF görüntüleyici yüklü değilse, Windows kullanıcıdan bir uygulama seçmesini veya bir tane bulmak için Microsoft Store'u ziyaret etmesini isteyen bir diyalog gösterir. Bu, standart Windows davranışıdır ve Process.Start kontrolünün dışındadır.

Üretim kodunda bunu zarif bir şekilde ele almak için, .pdf dosya uzantısı için kayıtlı bir işlemci bulunmadığında Process.Start tarafından fırlatılan Win32Exception hatasını yakalayabilirsiniz:

using System.ComponentModel;
using System.Diagnostics;

try
{
    Process.Start(new ProcessStartInfo
    {
        FileName = outputPath,
        UseShellExecute = true
    });
}
catch (Win32Exception ex) when (ex.NativeErrorCode == 1155)
{
    // Error 1155: No application associated with the file extension
    Console.WriteLine("No PDF viewer is installed. Please install a PDF reader such as Adobe Acrobat Reader.");
}
using System.ComponentModel;
using System.Diagnostics;

try
{
    Process.Start(new ProcessStartInfo
    {
        FileName = outputPath,
        UseShellExecute = true
    });
}
catch (Win32Exception ex) when (ex.NativeErrorCode == 1155)
{
    // Error 1155: No application associated with the file extension
    Console.WriteLine("No PDF viewer is installed. Please install a PDF reader such as Adobe Acrobat Reader.");
}
Imports System.ComponentModel
Imports System.Diagnostics

Try
    Process.Start(New ProcessStartInfo With {
        .FileName = outputPath,
        .UseShellExecute = True
    })
Catch ex As Win32Exception When ex.NativeErrorCode = 1155
    ' Error 1155: No application associated with the file extension
    Console.WriteLine("No PDF viewer is installed. Please install a PDF reader such as Adobe Acrobat Reader.")
End Try
$vbLabelText   $csharpLabel

1155 hata kodu, Windows'un dosya türü için kayıtlı herhangi bir uygulama olmadığında döndüğü ERROR_NO_ASSOCIATION'a karşılık gelir. Bu özel hatayı yakalamak, çökme yerine yararlı bir mesaj göstermenizi sağlar. Windows sistem hata kodlarının tam listesi, Microsoft Learn üzerindeki Win32 hata kodları referansı içerisinde belgelenmiştir.

Uygulamanız İçin Doğru Yaklaşımı Nasıl Seçersiniz?

PDF açma yöntemi, oluşturduğunuz uygulama tipine bağlıdır:

Farklı uygulama türleri için PDF açma stratejilerinin karşılaştırılması
Uygulama Türü Önerilen Yaklaşım Ana Husus
Konsol veya masaüstü uygulaması Process.Start ile UseShellExecute = true Basit, ek bağımlılıklar yok
Windows Servisi Diske kaydedin; kullanıcıya IPC veya mesaj kuyruğu üzerinden bildirin Hizmetler, masaüstü oturumu olmadan çalışır
Web uygulaması (ASP.NET) PDF'yi dosya indirilebilir veya tarayıcıda satır içi olarak hazırlayın Process.Start, web sunucusu bağlamlarında geçerli değildir
MAUI veya WinForms Process.Start veya gömülü PDF kontrolü Gömülü görüntüleme, uygulama içinde daha iyi bir deneyim sunar

ASP.NET Core ile oluşturulmuş web uygulamaları için Process.Start kullanmayın. Sunucu süreci, başsız bir ortamda çalışır ve masaüstü uygulamalarını açamaz. Bunun yerine, File() kullanarak ve application/pdf MIME türü ile dosya sonucunuzu PDF olarak döndürün ve tarayıcının gösterimi yönetmesine izin verin.

Konsol ve masaüstü uygulamaları için, UseShellExecute = true ile Process.Start en basit ve en güvenilir seçenek olarak kalmaya devam eder.

Lütfen dikkate alinNot: Eğer PDF görüntüleyici yüklü değilse, Windows bir tane seçmenizi veya indirmenizi isteyen bir diyalog gösterebilir.

.NET uygulamanızda PDF oluşturma ve görüntülemeye başlamak için hazır mısınız? Tam özellik setine erişmek için bir ücretsiz deneme başlatın veya projeniz için uygun planı bulmak için IronPDF lisanslama sayfasını inceleyin.

Sıkça Sorulan Sorular

C# ile varsayılan görüntüleyicide bir PDF'yi nasıl acabilirim?

IronPDF kullanarak PDF'yi oluşturarak ve kullanicinin varsayılan PDF uygulamasinda acmak için System.Diagnostics.Process.Start kullanarak, C#'ta varsayılan görüntüleyicide bir PDF'yi acabilirsiniz.

IronPDF nedir?

IronPDF, geliştiricilerin uygulamalarinda programli olarak PDF dosyalari oluşturmasina, düzenlemesine ve işlemelesine imkan veren bir .NET kütüphanesidir.

IronPDF kullanımı için sistem gereksinimleri nelerdir?

IronPDF, herhangi bir .NET uygulaması ile uyumlu olup, Windows, macOS ve Linux platformlarinda çalışir. .NET Framework veya .NET Core/5+ kurulu olmasi gereklidir.

IronPDF varsayılan olarak Adobe Acrobat'ta PDF acabilir mi?

Evet, IronPDF, kullanici tarafindan ayarlanan varsayılan PDF görüntüleyicisinde acilan PDF'ler uretebilir ki bu Adobe Acrobat, Microsoft Edge veya baska bir PDF görüntüleme uygulamasi olabilir.

System.Diagnostics.Process.Start, IronPDF ile nasıl çalışir?

System.Diagnostics.Process.Start, oluşturulan PDF dosyasini varsayılan görüntüleyicide acmak için kullanilir. IronPDF dosyayi oluşturduktan sonra, bu method, PDF dosyalariyla iliskilendirilen varsayılan uygulamayi çalıştırarak onu görüntülemek için acacaktir.

IronPDF ile PDF dosyalarını düzenlemek mumkun mu?

Evet, IronPDF, mevcut PDF dosyalarini metin, resim, anotasyon ve daha fazlasini ekleyerek düzenleme imkani sunar, bu işlemleri kaydetmeden veya görüntülemeden önce yapabilirsiniz.

IronPDF tarafindan desteklenen yazılım dilleri hangileridir?

IronPDF esas olarak C# ile kullanilir, ancak VB.NET ve diğer .NET destekli dillerle de projelere entegre edilebilir.

IronPDF, oluşturma sonrasinda PDF'lerin görüntülemesini otomatiklestirebilir mi?

Evet, IronPDF ile bir PDF oluşturduktan sonra, kullanicinin varsayılan görüntüleyicisinde hemen acilmasi için System.Diagnostics.Process.Start kullanarak görüntülenmesini otomatiklestirebilirsiniz.

IronPDF kullanımi için herhangi bir kod ornegi mevcut mudur?

IronPDF dokümani, PDF'leri oluşturmak ve düzenlemek için çeşitli kod örnekleri saglar, bunlar arasinda C# kullanarak varsayılan görüntüleyicide nasıl acilacagini da kapsar.

IronPDF için bazi yaygin kullanım durumlari nelerdir?

IronPDF için yaygin kullanım durumlari, raporlar, faturalar ve diğer dokümanlarin oluşturulmasi, HTML'nin PDF'ye dönüştürulmesi ve .NET uygulamalarinda PDF görüntüleme süreçinin otomatiklestirilmesini icerir.

IronPDF, .NET 10 ile uyumlu mu ve bu ne gibi faydalar saglar?

Evet. IronPDF, .NET 10'un çalışma zamani ve dil geliştirmeleri dahil olmak uzere tamamen uyumludur. IronPDF'u .NET 10 ile kullanmak, daha az yigin ayirimi, daha hizli PDF oluşturma ve modern API'lar ve platformlarla daha sorunsuz entegrasyon gibi performans iyilestirmelerinden uygulamalarinizin yararlanmasini saglar.

Curtis Chau
Teknik Yazar

Curtis Chau, Bilgisayar Bilimleri alanında lisans derecesine sahiptir (Carleton Üniversitesi) ve Node.js, TypeScript, JavaScript ve React konularında uzmanlaşmış ön uç geliştirme üzerine uzmanlaşmıştır. Kullanıcı dostu ve estetik açıdan hoş arayüzler tasarlamaya tutkuyla bağlı olan Curtis, modern çerç...

Daha Fazlasını Oku

Iron Destek Ekibi

Haftanın 5 günü, 24 saat çevrimiçiyiz.
Sohbet
E-posta
Beni Ara