Sanal Yollar ile Dosya Kayıt Hataları
ASP.NET uygulamalarında, PdfDocument.SaveAs() bu şekilde bir hata ile başarısız olabilir:
IronPDF could not write to the file '~/PDFFiles/mydocument.pdf'. It may be open in a PDF viewer.
Mesaj bir kilitli dosyaya işaret eder, ancak gerçek sebep genellikle yoldur. IronPDF diske yazmak için tam nitelikli bir fiziksel yol gerektirir, oysa ~/PDFFiles/file.pdf gibi bir değer, dosya sisteminin çözemeyeceği bir ASP.NET sanal yoludur.
Sanal yolu fiziksel bir yola eşleyin
Sanal yolu kaydetmeden önce, ASP.NET Web Forms'da Server.MapPath() kullanarak veya başka yerlerde HostingEnvironment.MapPath() kullanarak dönüştürün:
string virtualPath = "~/PDFFiles/mydocument.pdf";
string physicalPath = Server.MapPath(virtualPath); // or HostingEnvironment.MapPath outside Web Forms
pdf.SaveAs(physicalPath);
string virtualPath = "~/PDFFiles/mydocument.pdf";
string physicalPath = Server.MapPath(virtualPath); // or HostingEnvironment.MapPath outside Web Forms
pdf.SaveAs(physicalPath);
Imports System.Web
Dim virtualPath As String = "~/PDFFiles/mydocument.pdf"
Dim physicalPath As String = Server.MapPath(virtualPath) ' or HostingEnvironment.MapPath outside Web Forms
pdf.SaveAs(physicalPath)
Minimal bir çalışma örneği:
var renderer = new ChromePdfRenderer();
PdfDocument pdf = renderer.RenderUrlAsPdf("https://example.com");
string physicalPath = Server.MapPath("~/App_Data/PDFFiles/output.pdf");
pdf.SaveAs(physicalPath);
var renderer = new ChromePdfRenderer();
PdfDocument pdf = renderer.RenderUrlAsPdf("https://example.com");
string physicalPath = Server.MapPath("~/App_Data/PDFFiles/output.pdf");
pdf.SaveAs(physicalPath);
Dim renderer As New ChromePdfRenderer()
Dim pdf As PdfDocument = renderer.RenderUrlAsPdf("https://example.com")
Dim physicalPath As String = Server.MapPath("~/App_Data/PDFFiles/output.pdf")
pdf.SaveAs(physicalPath)
Kayıt Etmeden Önce
- Dizin mevcut: hedef klasörü oluşturun ve uygulamanın oraya yazma iznine sahip olduğundan emin olun.
- Dosya açık değil: çıktının zaten Adobe Reader gibi bir görüntüleyicide açık olmadığından emin olun.
- Kısıtlı lokasyonlar:
Program Filesgibi korumalı klasörlere yazarken yeterli izinlerle çalıştırın. - Yolu doğrulayın: gelişim sırasında çözünmüş fiziksel yolu kaydedin ve beklediğiniz yere işaret ettiğinden emin olun.

