IRONSOFTWAREHOME

Başlık ve İçerik Uygunsuzluğu

Curtis Chau
Curtis Chau
Updated: 29 Haziran 2026

HTML'yi PDF'ye işlerken, başlık ve altbilgi sayfa kenarına sıfır otururken, gövde içeriği içeri itilmiş olabilir, en çok sol ve sağ kenarlarda fark edilir. Bu, MarginLeft = 0 ayarlanmış ve UseMarginsOnHeaderAndFooter etkinleştirilmiş olsa bile meydana gelir.

Sebep Chrome'un varsayılan stilidir. Render motoru, her sayfanın <body> öğesine 8 piksel kenar boşluğu uygular. Bu varsayılan ayar normal web içeriği için uygundur, ancak ilettiğiniz MarginLeft = 0 ne olursa olsun, içeriğiniz ile PDF'nin kenarı arasında görünür bir 8px boşluk bırakır. Üst bilgi ve alt bilgi etkilenmez: kenar boşlukları 0 olarak ayarlandığında, beklendiği gibi doğrudan sayfa kenarına hizalanır, bu nedenle yalnızca ana metin hizadan çıkar.

Bu snippet uyumsuzluğu yeniden üretir:

var renderer = new ChromePdfRenderer();
renderer.RenderingOptions.HtmlHeader = new HtmlHeaderFooter()
{
    HtmlFragment = "<h1>This is header</h1>"
};
renderer.RenderingOptions.MarginLeft = 0;
renderer.RenderingOptions.UseMarginsOnHeaderAndFooter = UseMargins.Left;
var pdf = renderer.RenderHtmlAsPdf("<h1>Hello World</h1>");
C#

Üst bilginin sola hizalandığını ancak ana metin içeriğinin içe yanlış hizalandığını gösteren PDF

Çözüm

İçeriğin, tam sayfa genişliğinde üst bilgi ve alt bilgi ile hizalanabilmesi için Chrome'un varsayılan <body> kenar boşluğunu geçersiz kılın. Yerleşik 8px ofseti iptal etmek için negatif kenar boşlukları uygulayın:

body {
margin-left: -8px;
margin-right: -8px;
}
Text

Negatif değerler, Chrome'un varsayılan dolgusunu nötralize eder, böylece başlık, gövde ve altbilgi aynı kenara hizalanır. Uygulanan satır içi, düzeltilmiş işleme böyle görünür:

var renderer = new ChromePdfRenderer();
renderer.RenderingOptions.HtmlHeader = new HtmlHeaderFooter()
{
    HtmlFragment = "<h1>This is header</h1>"
};
renderer.RenderingOptions.MarginLeft = 0;
renderer.RenderingOptions.UseMarginsOnHeaderAndFooter = UseMargins.Left;
var pdf = renderer.RenderHtmlAsPdf("<h1 style=\"margin-left: -8;\">Hello World</h1>");  //adjust margin left to -8 px to cancel out default Chrome margin
C#

Düzeltme sonrası aynı sol kenara hizalanmış üst bilgi ve ana metin içeriğini gösteren PDF

Hata Ayıklama İpuçları

  • Temiz bir sayfa tercih edin: negatif kenar boşlukları yerine bir CSS sıfırlama uygulayın veya varsayılan sapmayı kaynağında kaldırmak için <body> öğesine margin: 0 açıkça ayarlayın.
  • Davranışın kapsamı: 8px boşluk, HTML bir headless Chrome aracılığıyla işlendiğinde, IronPDF, Puppeteer ve Chrome DevTools Protokolü de dahil, ortaya çıkar, bu yüzden aynı düzeltme bu araçlarda geçerlidir.
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 21,105,021Sürüm:2026.9yeni yayınlandı

Ü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.9

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.9

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.

OR
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 Iron Suite
Ü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
PDF için C# NuGet Kütüphanesi
NuGet ile yükleyin

Sürüm: 2026.9

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.9

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