C# Kullanarak ASP.NET'te PDF Nasıl Oluşturulur?
Bu makalede, Windows Forms Uygulamasından veya herhangi bir .NET Uygulamasından PDF dosyalarını nasıl kaydedeceğinizi öğrenmek için IronPDF'yi nasıl kullanacağınızı keşfedeceğiz.
IronPDF Kütüphanesi, C# uygulamalarında PDF dosyaları oluşturma ve çalışma için kullanımı kolay sınıflar ve yöntemler sunan bir .NET kütüphanesidir. Geliştiricilerin sadece birkaç satır kod ile PDF dosyaları oluşturmasına, düzenlemesine ve kaydetmesine olanak tanır, bu da onu Windows Forms Uygulamaları için mükemmel bir seçim haline getirir.
Adım 1: Yeni Bir Windows Forms Uygulaması Oluşturun
Öncelikle yeni bir Visual Studio Projesi oluşturun. İşte Visual Studio 2022'de yeni bir C# Windows Forms Uygulaması oluşturma adımları.
- Aşağıda gösterildiği gibi Visual Studio 2022'yi açın.
Visual Studio 2022
- Başlat sayfasında 'Yeni bir proje oluştur'a tıklayın veya 'Dosya' > 'Yeni' > 'Proje'ye gidin.
- 'Yeni bir projeyi oluştur' iletişim kutusunda, 'Yeni bir proje oluştur'un altında 'Windows Forms App' veya 'Windows Forms App (.NET Framework)' seçeneğini seçin.
Yeni Forms Uygulaması
- Projeniz için bir ad girin ve kaydedileceği yeri seçin.
Proje konumu
- .NET Framework'ü seçin. Açılır menüden .NET 7.0'ı seçin.
- Oluştur butonuna tıklayın.
Ek Bilgi
- Visual Studio, sizin için varsayılan olarak projeye 'Form1' adlı bir form ekleyerek yeni bir C# Windows Forms Uygulaması projesi oluşturur.
Form1 projesi
Hepsi bu kadar! Şimdiyse PDF belgesi dosyasını oluşturup kaydetmek için denetleyicileri ve işlevselliği ekleyerek Windows Forms Uygulamasını tasarlamaya başlayacağız.
Adım 2: Formu Tasarlayın
Formu kendi tercihinize göre tasarlayabilirsiniz. Bu eğitimde, iki etiket, bir zengin metin kutusu ve iki düğme ekleyerek minimalist bir tasarım yapacağız.
Forma düğmeler ekleme
Adım 3: IronPDF'i Yükleyin
Bir sonraki adım, projenize zengin işlevlerden yararlanmak amacıyla IronPDF'i yüklemektir.
IronPDF, Visual Studio'daki NuGet Paket Yöneticisi kullanılarak yüklenebilir. Araçlar > NuGet Paket Yöneticisi > Paket Yöneticisi Konsolu yoluyla NuGet Paket Yöneticisi Konsoluna gidebilirsiniz.
Aşağıdaki komutu yazın ve Enter'a basın:
Install-Package IronPdf
Bu komut, projenizde IronPDF paketini indirip yükleyecektir. Yüklendikten sonra IronPDF'yi kullanmaya başlayabiliriz.
PDF Dosyası Oluşturma ve Kaydetme Kodunu Yazın
Akışa başlamak için, Save_Click ve getFilePath adlı iki metot yazın, Form1.cs sınıfında. Bu yöntemler, bir metin kutusunun içeriğini Google Chrome tarayıcı motorunu kullanarak PDF belgelerine dönüştüren bir kitaplık olan ChromePdfRenderer Sınıfı kullanarak PDF dosyası olarak kaydetmek için birlikte kullanılır. Bu yöntemlerin her birinin nasıl çalıştığını anlamak için üzerinden geçelim.
Save_Click Yöntemi (PDF Belgesi Oluştur)
Aşağıdaki yöntem, bir düğme tıklama 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
İşte bu yöntemin yaptıklarının adım adım bir özeti:
- Yöntem, PDF dosyasının kaydedileceği dosya yolunu almak için
getFilePathmetodunu çağırır. - Dosya yolu boş veya null değilse, yöntem PDF dosyasını kaydetmeye devam eder.
- Yöntem,
ChromePdfRenderersınıfının yeni bir örneğini oluşturur. Bu, Google Chrome tarayıcı motorunu kullanarak HTML içeriğini PDF belgelerine dönüştürme yolu sağlayan bir kütüphanedir. - Daha sonra yöntem, metin kutusu
pdfContent'nın HTML içeriğini bir PDF belgesine dönüştürmek içinChromePdfRenderersınıfının RenderHtmlAsPdf Metodunu kullanır. Bu PDF belgesi, PdfDocument Değişkenine atanır. - Yöntem, belirli dosya yoluna PDF belgesini kaydetmek için
PdfDocumentsınıfının SaveAs Metodunu kullanır. - Son olarak, yöntem bir mesaj kutusu gösterir ve böylece PDF dosyasının başarıyla kaydedildiği belirtilir.
getFilePath Yöntemi (PDF Dosyalarını Kaydet)
Bu yöntem, kullanıcının PDF dosyasının kaydedileceği dosya yolunu seçmesi için bir SaveFileDialog görüntülemek amacıyla kullanılır.
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
İşte bu yöntemin yaptıklarının adım adım bir özeti:
- Yöntem,
SaveFileDialogsı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 dosya yolunu seçme fırsatı veren bir iletişim kutusu sağlar. - Yöntem, davranışını özelleştirmek için
SaveFileDialognesnesinin birkaç özelliğini ayarlar.InitialDirectoryözelliği, iletişim kutusunun ilk olarak açılacağı dizini ayarlar.Titleözelliği, iletişim kutusunun başlığını ayarlar.CheckPathExistsözelliği, belirtilen yolun var olup olmadığını kontrol edip etmeyeceğini belirtir.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, gösterilecek varsayılan filtreyi ayarlar. Son olarak,RestoreDirectoryözelliği, iletişim kutusunun kapanmadan önce mevcut dizini geri yükleyip yüklemeyeceğini belirler. - Yöntem,
SaveFileDialog'iShowDialogyöntemini çağırarak gösterir. Bu yöntem, iletişim kutusunu görüntüler ve kullanıcının "Tamam" düğmesine mi yoksa İptal düğmesine mi tıkladığını belirten birDialogResultdeğeri döndürür. - Kullanıcı "Tamam" düğmesine tıklarsa, yöntem
SaveFileDialog'nınFileNameözelliğine erişerek kullanıcının seçtiği dosya yolunu döndürür. - Kullanıcı "İptal" düğmesine tıklar veya iletişim kutusunu kapatırsa, yöntem boş bir dize döndürür.
Projeyi çalıştıralım ve çıktıyı görelim. Projeyi çalıştırın ve aşağıdaki form açılacak.
Windows Forms projesini çalıştırma
PDF içeriğinizi girin ve aşağıdaki gibi "Kaydet" düğmesine tıklayın.
Kaydet iletişim kutusu
Aşağıdaki PDF oluşturuldu.
Oluşturulan PDF dosyası
IronPDF, HTML içeriğini PDF belgelerine dönüştürmek ve kullanıcı tarafından seçilen bir dosya yoluna kaydetmek için ChromePdfRenderer sınıfını ve SaveFileDialog iletişim kutusunu kullanarak basit bir yol sunar.
Sonuç
Windows Forms Uygulamasından PDF dosyalarını kaydetmek yaygın bir gerekliliktir ve IronPDF bu görevi yerine getirmek için kullanımı kolay ve esnek bir yöntem sunar. Bu makale, C# Windows Forms Uygulamasında dosyalar oluşturmak, içerik eklemek ve kaydetmek için IronPDF'ü nasıl kullanacağınızı gösterdi. IronPDF ile geliştiriciler, uygulamalarından sadece birkaç satır kod ile yüksek kaliteli PDF dosyaları üretebilir.
IronPDF, HTML'den PDF'ye Dönüştürme Kılavuzu, PDF Birleştirme Örnek Kodları, PDF Sayfalarını Bölme Rehberi ve Metin ve Görüntüleri Çıkarma Nasıl Yapılır gibi birçok özellik sunar. IronPDF, ticari projelerde kullanılmasına ve özel destek ve güncellemeler içermesine izin veren bir Ticari Lisans ile Ücretsiz Deneme altında geliştirme için ücretsizdir.
Ayrıca, IronPDF, .NET yazılım bileşenlerinin bir paketi olan Iron Suite'in bir parçasıdır ve şu kütüphaneleri içerir:
- Barkod oluşturma (IronBarcode),
- Excel yönetimi (IronXL),
- Metin çıkarma (IronOCR)
Tüm Iron Suite'i satın almak, beş ürünü iki ürün fiyatına alabileceğiniz uygun maliyetli bir çözümdür.
Sıkça Sorulan Sorular
C# Windows Forms Uygulamasında bir PDF dosyasını nasıl kaydedebilirim?
IronPDF'yi kullanarak, metin kutuları ve butonlar gibi denetimlerin bulunduğu bir form oluşturarak ve Save_Click yöntemini uygulayarak, içeriği PDF olarak oluşturup kaydetmek için ChromePdfRenderer sınıfını kullanarak bir PDF dosyasını C# Windows Forms Uygulamasında kaydedebilirsiniz.
PDF’leri kaydetmek için bir Windows Forms Uygulaması ayarlamak hangi adımları içerir?
PDF'leri kaydetmek için bir Windows Forms Uygulaması ayarlamak için Visual Studio'da yeni bir proje oluşturun, etiketler ve zengin metin kutusu gibi gerekli denetimleri ekleyin ve PDF işleme yeteneklerini kullanmak için NuGet Paket Yöneticisi aracılığıyla IronPDF’yi yükleyin.
C#'de HTML içeriğini PDF'ye nasıl dönüştürebilirim?
C# ile HTML'yi PDF'ye dönüştürmek için, IronPDF'nin RenderHtmlAsPdf yöntemini kullanarak, HTML dizelerini direkt olarak PDF belgelerine dönüştürebilirsiniz.
PDF oluşturma bağlamında Save_Click yönteminin rolü nedir?
Save_Click yöntemi, uygulama içinde bir olay işleyici olarak görev yapar, bir düğmenin tıklama olayını yakalayarak IronPDF'nin işleme sınıflarını kullanarak metin kutusu içeriğini bir PDF belgesine dönüştürme sürecini başlatır.
C# uygulamasında bir PDF'nin kaydedileceği dosya yolunu seçmek için kullanıcılara nasıl bir yol sunarım?
C# uygulamasında, SaveFileDialog sınıfını kullanarak, dosya seçimi için bir arayüz ayarlayabilir ve işlenen PDF'nin kaydedilmesi için seçilen yolu iade edebilirsiniz.
IronPDF, PDF manipülasyonu için hangi gelişmiş özellikleri sunar?
IronPDF, HTML'den PDF'ye dönüşüm, PDF birleştirme, PDF sayfalarını bölme ve metin ve görüntü çıkarma gibi gelişmiş özellikler sunar, böylece .NET uygulamalarında kapsamlı bir PDF manipülasyon araç seti sağlar.
Ticari projelerde PDF oluşturma için IronPDF kullanmanın bir maliyeti var mı?
IronPDF, bir deneme lisansı ile geliştirme amaçları için ü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 için araçlar dahil olmak üzere bir dizi .NET kütüphanesidir. Uygulamalarında birden fazla işlevselliğe ihtiyaç duyan geliştiriciler için maliyet açısından etkili bir çözüm sunar.
IronPDF, .NET 10 ile uyumlu mu ve bu, C#'ta PDF kaydetme için ne gibi avantajlar sağlar?
Evet — IronPDF, masaüstü, web ve çapraz platform proje türleri dahil olmak üzere .NET 10'u tam olarak destekler. .NET 10 ile oluşturmak, daha hızlı çalışma zamanı performansı, modern C# iyileştirmelerine erişim ve platform özellikleriyle daha sıkı entegrasyon gibi iyileştirmeler sunar ve bu, IronPDF’nin RenderHtmlAsPdf ve SaveAs yöntemleriyle PDF oluşturma ve kaydetme süreçlerini daha verimli hale getirir.

