Altbilgi içeriğine atla
IRONPDF KULLANARAK

C#'ta PDF dosyası nasıl kaydedilir (Başlangıç Eğitimi)

Bu makale, IronPDF'nin bir Windows Forms Uygulaması veya herhangi bir .NET Uygulamasından PDF dosyalarını nasıl kaydedeceğinizi keşfedecek.

IronPDF Kütüphanesi, C# uygulamalarında PDF dosyaları oluşturmak ve çalışmak için kullanımı kolay sınıflar ve yöntemler sağlayan bir .NET kütüphanesidir. Geliştiricilerin, sadece birkaç satır kodla PDF dosyaları oluşturmasını, değiştirmesini ve kaydetmesini sağlar; bu da onu Windows Forms Uygulamaları için mükemmel bir seçim haline getirir.

1. Adım: Yeni Bir Windows Forms Uygulaması Oluşturun

Öncelikle, yeni bir Visual Studio Projesi oluşturun. Visual Studio 2022'de yeni bir C# Windows Forms Uygulaması oluşturmak için adımlar aşağıdadır.

  1. Aşağıda gösterildiği gibi Visual Studio 2022'yi açın.

    C#'ta PDF Dosyasını Kaydetme (Yeni Başlayanlar İçin Eğitim), Şekil 1: Visual Studio 2022 Visual Studio 2022

  2. Başlangıç sayfasında 'Yeni bir proje oluştur' seçeneğine tıklayın ya da 'Dosya' > 'Yeni' > 'Proje'ye gidin.
  3. 'Yeni bir proje oluştur' iletişim kutusunda, 'Yeni bir proje oluştur' altında 'Windows Forms Uygulaması' veya 'Windows Forms Uygulaması (.NET Framework)' seçin.

    C#'ta PDF Dosyasını Kaydetme (Yeni Başlayanlar İçin Eğitim), Şekil 2: Yeni Formlar Uygulaması Yeni Form Uygulaması

  4. Projeniz için bir ad girin ve kaydetmek istediğiniz yeri seçin.

    C#'ta PDF Dosyasını Kaydetme (Yeni Başlayanlar İçin Eğitim), Şekil 3: Proje konumu Proje konumu

  5. .NET Framework'ü seçin. Açılır menüden .NET 7.0'ı seçin.
  6. Oluştur butonuna tıklayın.

    C#'ta PDF Dosyasını Kaydetme (Yeni Başlayanlar İçin Eğitim), Şekil 4: Ek Bilgiler Ek Bilgiler

  7. Visual Studio sizin için varsayılan 'Form1' adlı bir form ile yeni bir C# Windows Forms Uygulaması projesi oluşturacaktır.

    C#'ta PDF Dosyasını Kaydetme (Yeni Başlayanlar İçin Eğitim), Şekil 5: Form1 projesi Form1 projesi

İşte bu kadar! Şimdi tasarımcıyı kullanarak Windows Forms Uygulamasını inşa etmeye başlayacağız, PDF belgesi dosyası oluşturma ve kaydetme işlevselliği ve kontrolleri ekleyeceğiz.

2. Adım: Formu Tasarla

Formu tercihleriniz doğrultusunda tasarlayabilirsiniz. Bu eğitim, iki etiket, bir zengin metin kutusu ve iki buton ekleyerek minimalist bir tasarım yapacaktır.

C#'ta PDF Dosyasını Kaydetme (Yeni Başlayanlar İçin Eğitim), Şekil 6: Forma düğmeler ekleme Forma buton ekleme

3. Adım: IronPDF'yi Yükleyin

Bir sonraki adım, projede IronPDF'nin zengin işlevselliklerini kullanmak için yüklenmesidir.

IronPDF, Visual Studio'da NuGet Paket Yöneticisi kullanılarak yüklenebilir. Araçlar > NuGet Paket Yöneticisi > Paket Yöneticisi Konsolu yoluyla NuGet Paket Yöneticisi Konsolu'na gidebilirsiniz.

Aşağıdaki komutu yazın ve Enter'a basın:

Install-Package IronPdf

Bu komut, projenizdeki IronPDF paketini indirip yükleyecektir. Kurulum tamamlandıktan sonra IronPDF'yi kullanmaya başlayabiliriz.

PFD Dosyası Oluşturma ve Kaydetmek için Kod Yazma

Akışa başlamak için, Save_Click ve getFilePath metodlarını Form1.cs sınıfında yazın. Bu yöntemler, Google Chrome tarayıcı motorunu kullanarak HTML içeriğini PDF belgelerine dönüştürmek için bir yol sağlayan ChromePdfRenderer Sınıfı kütüphanesini kullanarak bir metin kutusunun içeriğini PDF dosyası olarak kaydetmek için birlikte kullanılır. Her yöntemin nasıl çalıştığını anlamak için geçelim.

Save_Click Yöntemi (PDF Belgesi Oluşturma)

Aşağıdaki yöntem bir buton-tıkla olayı için bir olay işleyicisidir. Bu yöntemin amacı, bir metin kutusunun içeriğini PDF dosyası olarak kaydetmektir.

private void Save_Click(object sender, EventArgs e)
{
    // Get the file path to save the PDF file.
    string filename = getFilePath();

    // If the file path is not empty or null, proceed with saving the PDF file.
    if (!String.IsNullOrEmpty(filename))
    {
        // Create a new instance of the ChromePdfRenderer class.
        var renderer = new ChromePdfRenderer();

        // Render the file contents of the text box as a PDF document using the ChromePdfRenderer.
        var pdfDocument = renderer.RenderHtmlAsPdf(pdfContent.Text);

        // Save the PDF document to the specified file path using the SaveAs method.
        pdfDocument.SaveAs(filename);

        // Show a message box to indicate that the PDF file has been saved successfully.
        MessageBox.Show("PDF has been saved Successfully!");
    }
}
private void Save_Click(object sender, EventArgs e)
{
    // Get the file path to save the PDF file.
    string filename = getFilePath();

    // If the file path is not empty or null, proceed with saving the PDF file.
    if (!String.IsNullOrEmpty(filename))
    {
        // Create a new instance of the ChromePdfRenderer class.
        var renderer = new ChromePdfRenderer();

        // Render the file contents of the text box as a PDF document using the ChromePdfRenderer.
        var pdfDocument = renderer.RenderHtmlAsPdf(pdfContent.Text);

        // Save the PDF document to the specified file path using the SaveAs method.
        pdfDocument.SaveAs(filename);

        // Show a message box to indicate that the PDF file has been saved successfully.
        MessageBox.Show("PDF has been saved Successfully!");
    }
}
Private Sub Save_Click(ByVal sender As Object, ByVal e As EventArgs)
	' Get the file path to save the PDF file.
	Dim filename As String = getFilePath()

	' If the file path is not empty or null, proceed with saving the PDF file.
	If Not String.IsNullOrEmpty(filename) Then
		' Create a new instance of the ChromePdfRenderer class.
		Dim renderer = New ChromePdfRenderer()

		' Render the file contents of the text box as a PDF document using the ChromePdfRenderer.
		Dim pdfDocument = renderer.RenderHtmlAsPdf(pdfContent.Text)

		' Save the PDF document to the specified file path using the SaveAs method.
		pdfDocument.SaveAs(filename)

		' Show a message box to indicate that the PDF file has been saved successfully.
		MessageBox.Show("PDF has been saved Successfully!")
	End If
End Sub
$vbLabelText   $csharpLabel

Bu yöntemin ne yaptığının adım adım bir özeti:

  1. Metot, PDF dosyasının kaydedileceği dosya yolunu almak için getFilePath metodunu çağırır.
  2. Dosya yolu boş ya da null değilse, yöntem PDF dosyasını kaydetme işlemine devam eder.
  3. Metot, ChromePdfRenderer sınıfının yeni bir örneğini oluşturur. Bu, Google Chrome tarayıcı motorunu kullanarak HTML içeriğini PDF belgesine dönüştürmek için bir yol sağlayan bir kütüphanedir.
  4. Metot, metin kutusunun HTML içeriğini ChromePdfRenderer sınıfının RenderHtmlAsPdf Metodu ile PDF belgesine dönüştürür. Bu PDF belgesi, bir PdfDocument Değişkenine atanır.
  5. Metot, PDF belgesini belirtilen dosya yoluna PdfDocument sınıfının SaveAs Metodu ile kaydeder.
  6. Son olarak, yöntem PDF dosyasının başarıyla kaydedildiğini belirten bir mesaj kutusu gösterir.

getFilePath Yöntemi (PDF Dosyalarını Kaydetme)

Bu metot, kullanıcıya PDF dosyasının kaydedileceği dosya yolunu seçmesi için bir SaveFileDialog gösterir.

public string getFilePath()
{
    // Create a new instance of the SaveFileDialog class.
    SaveFileDialog saveFileDialog1 = new SaveFileDialog();

    // Set the initial directory where the SaveFileDialog will open.
    saveFileDialog1.InitialDirectory = @"D:\";

    // Set the title of the SaveFileDialog.
    saveFileDialog1.Title = "Save the PDF Files";

    // Set the SaveFileDialog to check if the specified path exists.
    saveFileDialog1.CheckPathExists = true;

    // Set the default extension for the file type.
    saveFileDialog1.DefaultExt = ".pdf";

    // Set the filter to display only PDF files or all files.
    saveFileDialog1.Filter = "PDF files (*.pdf)|*.pdf|All files (*.*)|*.*";

    // Set the filter index to display the PDF filter as the default.
    saveFileDialog1.FilterIndex = 2;

    // Set the RestoreDirectory property to true so that the SaveFileDialog
    // restores the current directory before closing.
    saveFileDialog1.RestoreDirectory = true;

    // Show the SaveFileDialog and get the result.
    if (saveFileDialog1.ShowDialog() == DialogResult.OK)
    {
        // If the user clicked the OK button in the SaveFileDialog, return the selected file path.
        return saveFileDialog1.FileName;
    }
    // If the user did not click the OK button, return an empty string.
    return String.Empty;
}
public string getFilePath()
{
    // Create a new instance of the SaveFileDialog class.
    SaveFileDialog saveFileDialog1 = new SaveFileDialog();

    // Set the initial directory where the SaveFileDialog will open.
    saveFileDialog1.InitialDirectory = @"D:\";

    // Set the title of the SaveFileDialog.
    saveFileDialog1.Title = "Save the PDF Files";

    // Set the SaveFileDialog to check if the specified path exists.
    saveFileDialog1.CheckPathExists = true;

    // Set the default extension for the file type.
    saveFileDialog1.DefaultExt = ".pdf";

    // Set the filter to display only PDF files or all files.
    saveFileDialog1.Filter = "PDF files (*.pdf)|*.pdf|All files (*.*)|*.*";

    // Set the filter index to display the PDF filter as the default.
    saveFileDialog1.FilterIndex = 2;

    // Set the RestoreDirectory property to true so that the SaveFileDialog
    // restores the current directory before closing.
    saveFileDialog1.RestoreDirectory = true;

    // Show the SaveFileDialog and get the result.
    if (saveFileDialog1.ShowDialog() == DialogResult.OK)
    {
        // If the user clicked the OK button in the SaveFileDialog, return the selected file path.
        return saveFileDialog1.FileName;
    }
    // If the user did not click the OK button, return an empty string.
    return String.Empty;
}
Public Function getFilePath() As String
	' Create a new instance of the SaveFileDialog class.
	Dim saveFileDialog1 As New SaveFileDialog()

	' Set the initial directory where the SaveFileDialog will open.
	saveFileDialog1.InitialDirectory = "D:\"

	' Set the title of the SaveFileDialog.
	saveFileDialog1.Title = "Save the PDF Files"

	' Set the SaveFileDialog to check if the specified path exists.
	saveFileDialog1.CheckPathExists = True

	' Set the default extension for the file type.
	saveFileDialog1.DefaultExt = ".pdf"

	' Set the filter to display only PDF files or all files.
	saveFileDialog1.Filter = "PDF files (*.pdf)|*.pdf|All files (*.*)|*.*"

	' Set the filter index to display the PDF filter as the default.
	saveFileDialog1.FilterIndex = 2

	' Set the RestoreDirectory property to true so that the SaveFileDialog
	' restores the current directory before closing.
	saveFileDialog1.RestoreDirectory = True

	' Show the SaveFileDialog and get the result.
	If saveFileDialog1.ShowDialog() = DialogResult.OK Then
		' If the user clicked the OK button in the SaveFileDialog, return the selected file path.
		Return saveFileDialog1.FileName
	End If
	' If the user did not click the OK button, return an empty string.
	Return String.Empty
End Function
$vbLabelText   $csharpLabel

Bu yöntemin ne yaptığının adım adım bir özeti:

  1. Metot, SaveFileDialog sınıfının yeni bir örneğini oluşturur. Bu sınıf, Windows Forms kütüphanesinin bir parçasıdır ve kullanıcıya PDF dosyasının kaydedileceği bir dosya yolu seçmesine olanak tanıyan bir dialog kutusu sağlar.
  2. Metot, SaveFileDialog nesnesinin davranışını özelleştirmek için birçok özelliğini ayarlar. InitialDirectory özelliği, iletişim kutusunun ilk açılacağı dizini ayarlar. Title özelliği, iletişim kutusunun başlığını ayarlar. CheckPathExists özelliği, belirtilen yolun var olup olmadığını kontrol etmek isteyen iletişim kutusunun belirtimini ayarlar. DefaultExt özelliği, dosya türü için varsayılan dosya uzantısını ayarlar. Filter özelliği, iletişim kutusunda gösterilen dosya türü filtrelerini ayarlar. FilterIndex özelliği, varsayılan olarak gösterilecek filtreyi ayarlar. Son olarak, RestoreDirectory özelliği, kapatılmadan önce geçerli dizini geri yükleyip yüklemeyeceğini belirtir.
  3. Metot, ShowDialog metodunu çağırarak SaveFileDialog gösterir. Bu metot, iletişim kutusunu gösterir ve kullanıcının "Tamam" veya İptal düğmesine tıklayıp tıklamadığını belirten bir DialogResult değeri döndürür.
  4. Kullanıcı "Tamam" düğmesine tıklarsa, metot, kullanıcının seçtiği dosya yolunu SaveFileDialog'un FileName özelliğine erişerek döndürür.
  5. Kullanıcı "İptal" düğmesine tıklarsa veya dialog kutusunu kapatırsa, yöntem boş bir dizgi döndürür.

Projeyi çalıştırıp çıktıyı görelim. Projeyi çalıştırın, ve aşağıdaki form açılacaktır.

C#'ta PDF Dosyasını Kaydetme (Yeni Başlayanlar İçin Eğitim), Şekil 7: Windows Formlar projesini çalıştırma Windows Forms projesini çalıştırma

PDF içeriğinizi girin ve aşağıda gösterildiği gibi "Kaydet" düğmesine tıklayın.

C#'ta PDF Dosyasını Kaydetme (Yeni Başlayanlar İçin Eğitim), Şekil 8: Kaydet iletişim kutusu Kaydet iletişim kutusu

Aşağıdaki PDF oluşturuldu.

C#'ta PDF Dosyasını Kaydetme (Yeni Başlayanlar İçin Eğitim), Şekil 9: Oluşturulan PDF dosyası Oluşturulan PDF dosyası

IronPDF, HTML içeriğini PDF belgelerine dönüştürmek ve bunları ChromePdfRenderer sınıfı ve SaveFileDialog iletişim kutusu kullanarak kullanıcının seçtiği dosya yoluna kaydetmek için basit bir yol sağlar.

Sonuç

Windows Forms Uygulamasından PDF dosyalarını kaydetme yaygın bir gereksinimdir ve IronPDF bu görevi gerçekleştirmek için kolay kullanılabilir ve esnek bir yöntem sağlar. Bu makale, IronPDF'in bir C# Windows Forms Uygulamasında dosyalar oluşturmak, içerik eklemek ve kaydetmek için nasıl kullanılacağını gösterdi. IronPDF ile geliştiriciler, sadece birkaç satır kod ile uygulamalarından yüksek kaliteli PDF dosyaları oluşturabilir.

IronPDF, HTML'yi PDF'ye Dönüştürme Eğitimi, PDF Birleştirme Örnek Kodu, PDF Sayfalarını Bölme Kılavuzu, ve Metin ve Görüntü Çıkarma Nasıl Yapılır gibi bir dizi özellik sunar ve daha fazlası. IronPDF, gelişim için ücretsizdir ve ticari projelerde kullanımı sağlayan, özel destek ve güncellemeleri içeren Ticari Lisans ile Ücretsiz Deneme altında mevcuttur.

Ek olarak, IronPDF, Iron Suite'in bir parçasıdır ve şunları içeren bir .NET yazılım bileşenleri paketidir:

Tüm Iron Suite'i satın almak, beş ürünü iki ürün fiyatına alabileceğiniz için maliyet açısından etkili bir çözümdür.

Sıkça Sorulan Sorular

C# Windows Forms Uygulaması'nda PDF dosyasını nasıl kaydedebilirim?

IronPDF'yi kullanarak C# Windows Forms Uygulaması'nda bir form oluşturup, metin kutusu ve butonlar gibi kontroller ayarlayarak PDF kaydedebilirsiniz. İçeriği PDF olarak render edip kaydetmek için Save_Click yöntemini ChromePdfRenderer sınıfını kullanarak uygulayın.

C# kullanarak PDF kaydetme için Windows Forms Uygulaması nasıl ayarlanır?

PDF'leri kaydetmek için bir Windows Forms Uygulaması kurmak üzere Visual Studio'da yeni bir proje oluşturun, etiketler ve zengin metin kutusu gibi gerekli kontrolleri ekleyin ve PDF oluşturma yeteneklerinden faydalanmak için IronPDF'yi NuGet Paket Yöneticisi ile yükleyin.

HTML içeriği C# dilinde bir PDF'ye nasıl dönüştürülür?

IronPDF'nin RenderHtmlAsPdf yöntemini kullanarak C#'ta HTML içeriğini PDF'ye dönüştürebilirsiniz. Bu yöntem, HTML dizgilerini alıp doğrudan PDF belgelerine dönüştürmenizi sağlar.

PDF oluşturma bağlamında Save_Click yönteminin rolü nedir?

Save_Click yöntemi, bir düğme tıklama olayını yakalayarak IronPDF'nin render sınıflarını kullanarak metin kutusu içeriğini bir PDF dosyasına dönüştürme sürecini başlatan bir olay işleyicisi olarak hareket eder.

C# uygulamasında bir PDF kaydetme dosya yolu seçimi için kullanıcıları nasıl yönlendirebilirim?

C# uygulamasında SaveFileDialog sınıfını kullanarak, dosya seçimi için bir arayüz kurabilir ve render edilen PDF'yi kaydetmek üzere seçilen yolu döndürebilirsiniz.

IronPDF, PDF manipülasyonu için hangi gelişmiş özellikleri sunar?

IronPDF, HTML'den PDF'ye dönüştürme, PDF birleştirme, PDF sayfalarını ayırma, metin ve görüntü çıkartma gibi gelişmiş özellikler sunarak .NET uygulamalarında PDF manipülasyonu için kapsamlı bir araç seti sağlar.

Ticari projelerde PDF oluşturma için IronPDF kullanımının bir maliyeti var mı?

IronPDF, deneme lisansı ile geliştirme amaçlı ücretsizdir. Ancak, ticari projeler için özel destek ve düzenli güncellemeler gibi avantajlar içeren ticari bir lisans gereklidir.

Iron Suite nedir ve geliştiricilere nasıl fayda sağlar?

Iron Suite, barkod oluşturma, Excel belge manipülasyonu ve PDF işleme gibi araçları içeren bir .NET kütüphaneleri koleksiyonudur. Uygulamalarında birden fazla işlevselliğe ihtiyaç duyan geliştiriciler için ekonomik bir çözüm sunar.

IronPDF, .NET 10 ile uyumlu mu ve C#'ta PDF kaydetme açısından ne gibi faydalar sağlar?

Evet — IronPDF, masaüstü, web ve çapraz platform proje türleri dahil olmak üzere tam .NET 10 desteği sunar. .NET 10 ile geliştirme, daha hızlı çalışma zamanı performansı, modern C# geliştirmelerine erişim ve platform özellikleriyle daha sıkı entegrasyon gibi geliştirmeler sunar. Bu, IronPDF'nin RenderHtmlAsPdf ve SaveAs yöntemlerini kullanarak PDF oluşturma ve kaydetme işlemlerini daha verimli hale getirir.

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