IRONSOFTWAREHOME

Dateigröße mit Base64-Bildkopf- und Fußzeilen reduzieren

Curtis Chau
Curtis Chau
Updated: 3. Juli 2026

Das Hinzufügen eines Base64-Bildes zu einer Kopf- oder Fußzeile in einem großen mehrseitigen PDF kann die Ausgabedatei erheblich aufblähen. Die Lösung besteht darin, das Bild nur einmal einzubetten, anstatt auf jeder Seite, während Seitentext wie {page} weiterhin normal gerendert wird.

Die Aufblähung tritt auf, weil der Renderer einen kombinierten Fragment behandelt. Wenn ein einzelnes Fragment sowohl das Bild als auch dynamische Inhalte wie {page} enthält, behandelt die Engine das gesamte HTML als dynamisch und bettet das Base64-Bild auf jeder Seite erneut ein. Das Aufteilen der Arbeit in zwei Durchgänge hält das Bild statisch und die Seitennummer-Schicht klein.

Lösung

1. Teilen Sie die Kopf- oder Fußzeile in zwei Fragmente

Trennen Sie den Inhalt in ein statisches Fragment und ein dynamisches. Legen Sie das Bild und jeden nicht veränderlichen Text in das statische Fragment. Legen Sie Seitentexte wie {page} in das dynamische Fragment. Geben Sie beiden Fragmenten das gleiche Tabellenlayout und die gleiche Zellbreite, sodass der dynamische Text korrekt über der statischen Schicht landet.

2. Fügen Sie zuerst das statische Fragment hinzu

Rufen Sie AddHtmlHeadersAndFooters nur mit dem statischen Fragment auf. Das Base64-Bild wird einmalig gerendert und eingebettet.

3. Fügen Sie das dynamische Fragment in einem zweiten Durchgang hinzu

Rufen Sie AddHtmlHeadersAndFooters erneut nur mit dem dynamischen Fragment auf. Da dieser Durchgang kein Bild enthält, bleibt der Seitentext klein.

using IronPdf;

var pdf = PdfDocument.FromFile("input.pdf");

// Static layer: holds the Base64 image. The page-number cell is left empty.
string staticFooter = @"
<table style='width:100%; table-layout:fixed;'>
  <tr>
    <td style='width:20%;'>
      <img src='data:image/png;base64,iVBORw0KGg...' style='width:150px;' />
    </td>
    <td style='width:80%; text-align:right;'></td>
  </tr>
</table>";

// Dynamic layer: holds only {page}. Same layout, but no image.
string dynamicFooter = $@"
<table style='width:100%; table-layout:fixed;'>
  <tr>
    <td style='width:20%;'></td>
    <td style='width:80%; text-align:right; font-size:10px;'>Page {{page}} of {pdf.PageCount}</td>
  </tr>
</table>";

// Pass 1: add the static image footer (image embedded once).
pdf.AddHtmlHeadersAndFooters(new ChromePdfRenderOptions
{
    HtmlFooter = new HtmlHeaderFooter { HtmlFragment = staticFooter, MaxHeight = 40 }
});

// Pass 2: add the dynamic page-number footer (no image, stays small).
pdf.AddHtmlHeadersAndFooters(new ChromePdfRenderOptions
{
    HtmlFooter = new HtmlHeaderFooter { HtmlFragment = dynamicFooter, MaxHeight = 40 }
});

pdf.SaveAs("output.pdf");
C#

Die beiden table-layout:fixed-Fragmente haben identische Zellbreiten, sodass die Seitennummer im zweiten Durchgang genau dort sitzt, wo die leere Zelle im ersten war. Die gleiche Technik gilt für Kopfzeilen: Halten Sie das Bild im statischen Durchgang und platzieren Sie jeden dynamischen Kopfzeilentext im zweiten Durchgang.

Wenn beide Fragmente nicht die gleiche Tabellenstruktur und Zellbreiten haben, wird der dynamische Text wie die Seitennummer nicht über der statischen Schicht ausgerichtet.

Option: Referenzieren Sie ein externes Bild oder SVG

Wenn das Bild nicht als Base64 eingebettet werden muss, kann das Verweisen von <img> auf eine externe Datei oder die Verwendung eines SVG die Ausgabegröße weiter als ein Base64-String verringern.

Curtis Chau
Technischer Autor

Curtis Chau hat einen Bachelor-Abschluss in Informatik von der Carleton University und ist spezialisiert auf Frontend-Entwicklung mit Expertise in Node.js, TypeScript, JavaScript und React. Leidenschaftlich widmet er sich der Erstellung intuitiver und ästhetisch ansprechender Benutzerschnittstellen und arbeitet gerne mit modernen Frameworks sowie der Erstellung gut strukturierter, optisch ansprechender Handbücher.

...
Weiterlesen

Bereit anzufangen?

Nuget Downloads 21,253,952Version:2026.10gerade veröffentlicht

Erhalten Sie sofort Ihren kostenlosen 30-Tage-Testschlüssel.
Ihr Testlizenzschlüssel wurde Ihnen per E-Mail gesendet.
C# NuGet-Bibliothek für PDF
Installation mit NuGet

Version: 2026.10

PM > Install-Package IronPdf
nuget.org/packages/IronPdf/
  1. Rechtsklick auf Referenzen, NuGet-Pakete verwalten
  2. Wählen Sie Durchsuchen und suchen Sie nach 'IronPDF'
  3. Paket auswählen und installieren
C# PDF DLL
Download DLL

Version: 2026.10

oder laden Sie den Windows-Installer hier herunter.

  1. Laden Sie IronPDF herunter und entpacken Sie es in ein Verzeichnis wie ~/Libs innerhalb Ihres Lösungsverzeichnisses
  2. Im Visual Studio-Projektmappen-Explorer klicken Sie mit der rechten Maustaste auf Referenzen. Wählen Sie Durchsuchen, "IronPDF.dll"

Lizenzen ab 999 $

Key in blue circle

Holen Sie sich sofort Ihren kostenlosen 30-Tage-Testschlüssel.

Your trial license will be sent to your email address

Keine Einschränkungen. 100 % freigeschaltet. Keine Kreditkarte.

bullet_checkedIhr Testlizenzschlüssel wurde Ihnen per E-Mail gesendet.Keine Einschränkungen. 100 % freigeschaltet. Keine Kreditkarte.
  • Logo Aetna
  • Logo NASA
  • Logo GE
  • Logo Porsche
  • Logo USDA
  • Logo Qatar
Join Millions of Engineers who’ve tried IronPDF
Buchen Sie Ihre kostenlose Live-Demo
Booking Badge

Von Millionen von Ingenieur*innen weltweit vertraut

Kundenlogos von Iron Software
Erhalten Sie Ihre unverbindliche Beratung
Ihre Daten werden immer vertraulich behandelt.
  • Logo Aetna
  • Logo NASA
  • Logo GE
  • Logo Porsche
  • Logo USDA
  • Logo Qatar
Von Millionen von Ingenieur*innen weltweit vertraut
Erhalten Sie sofort Ihren kostenlosen 30-Tage-Testschlüssel.
Ihr Testlizenzschlüssel wurde Ihnen per E-Mail gesendet.
C# NuGet-Bibliothek für PDF
Installation mit NuGet

Version: 2026.10

PM > Install-Package IronPdf
nuget.org/packages/IronPdf/
  1. Rechtsklick auf Referenzen, NuGet-Pakete verwalten
  2. Wählen Sie Durchsuchen und suchen Sie nach 'IronPDF'
  3. Paket auswählen und installieren
C# PDF DLL
Download DLL

Version: 2026.10

oder laden Sie den Windows-Installer hier herunter.

  1. Laden Sie IronPDF herunter und entpacken Sie es in ein Verzeichnis wie ~/Libs innerhalb Ihres Lösungsverzeichnisses
  2. Im Visual Studio-Projektmappen-Explorer klicken Sie mit der rechten Maustaste auf Referenzen. Wählen Sie Durchsuchen, "IronPDF.dll"

Lizenzen ab 999 $