Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Lesedauer 3 Min.

Hex, Hex

Von Hex-Editoren und der Aufdeckung verborgener Bilder in Word-Dateien.
Es liegt in der Natur des Redakteurs, sich mit Texten auseinanderzusetzen: Der Redakteur redigiert, bereitet also Texte sprachlich und inhaltlich auf, damit sie gut zu lesen sind und in einer Zeitung, Zeitschrift oder online erscheinen können. Das bedeutet wiederum, dass Texte aus unterschiedlichen Quellen in verschiedensten Formaten auf den Redakteur einprasseln. Und das ist auch gut so. Die Autoren sollen sich komplett um den Inhalt eines Textes kümmern. Freilich kann ein Redakteur keine Wunder vollbringen: Aus einem schlechten Text wird nie ein wirklich guter.Doch der Mensch informiert sich nicht nur durch Text allein. Als Eyecatcher kommt Bildern eine wichtige Aufgabe zu. Aber auch zur Illustration sind Bilder unverzichtbar: Für Menschen als visuelles Wesen erschließen sich manche Zusammenhänge über ein Bild oft viel schneller.Langer Rede kurzer Sinn: Von Autoren kommen Word-Dokumente mit eingebauten Bildern, und diese sollen aus dem Dokument extrahiert werden, damit sie dem Publishing-System zugeführt werden können. DOCX ist ja nun ein ZIP-Archiv, in dem verschiedene Dateien verpackt sind – unter anderem auch die Bilder im Ordner word/media.Will man nun die Bilder herausholen, lässt sich das Dokument in ein ZIP-Programm laden und damit die Bilder extrahieren. Oder Sie verwenden SharpCompress [1]. Diese .NET-Bibliothek packt und verpackt Dateien in Archive der Formate Zip, Tar, Tar.GZip, TarBZip2, Tar.LZip und GZip. Damit aber nicht genug, kann sie Rar-, 7Zip- und Tar.XZ-Archive dekomprimieren. Mit der Bibliothek haben Sie also eine gut gefüllte Werkzeugkiste für komprimierte Archive.Lange Rede noch kürzerer Sinn: Mit dem folgenden Code holen Sie alle Bilder aus einem Word-Dokument heraus und speichern sie im selben Verzeichnis. Dazu fügen Sie das Paket SharpCompress per NuGet dem Projekt hinzu.
<span class="hljs-keyword">using</span> SharpCompress.Archives;
<span class="hljs-keyword">using</span> SharpCompress.Common;
<span class="hljs-keyword">using</span> System;
<span class="hljs-keyword">using</span> System.Linq;
<span class="hljs-keyword">namespace</span> <span class="hljs-title">WordImages</span>
{
 <span class="hljs-keyword">class</span> <span class="hljs-title">Program</span>
 {
  <span class="hljs-function"><span class="hljs-keyword">static</span> <span class="hljs-keyword">void</span> <span class="hljs-title">Main</span>(<span class="hljs-params"><span class="hljs-keyword">string</span>[] args</span>)</span>
<span class="hljs-function">  </span>{
  <span class="hljs-keyword">using</span> (<span class="hljs-keyword">var</span> archive = SharpCompress.Archives.Zip
    .ZipArchive.Open(<span class="hljs-string">"WordDocument.docx"</span>))
  {
    <span class="hljs-keyword">foreach</span> (<span class="hljs-keyword">var</span> entry <span class="hljs-keyword">in</span> archive.Entries
    .Where(entry =&gt; !entry.IsDirectory)
    .Where(entry =&gt; entry.Key.StartsWith(
      <span class="hljs-string">"word/media/"</span>)))
    {
    Console.WriteLine(entry.Key);
    entry.WriteToDirectory(<span class="hljs-string">"."</span>, <span class="hljs-keyword">new</span> ExtractionOptions()
    {
      ExtractFullPath = <span class="hljs-literal">false</span>,
      Overwrite = <span class="hljs-literal">true</span>
    });
    }
  }
  }
 }
} 

Schwerpunkt Hex-Editoren

<b>HxD</b><br/>HxD ist ein sorgfältig gestalteter und schneller Hex-Editor der neben dem direkten Bearbeiten von Datenträgern und dem Verändern des Arbeitsspeichers (RAM) auch Dateien beliebiger Größe verarbeiten kann. Die leicht zu bedienende Oberfläche bietet Funktionen wie Suchen und Ersetzen, Export in verschiedene Dateiformate, Prüfsummen/Digests, Einfügen von Byte-Mustern, einen Datei-Reißwolf, Zusammenfügen oder Aufspalten von Dateien, Statistiken und vieles mehr.<br/><a href="https://mh-nexus.de/de/hxd/" rel="noopener" target="_blank">https://mh-nexus.de/de/hxd/</a>

Buildalyzer

<b>NGitLab</b><br/>NGitLab ist eine .NET-REST-Client-Implementierung des GitLab-API ohne externe Abhängigkeiten.<br/><a href="https://github.com/ubisoft/NGitLab" rel="noopener" target="_blank">https://github.com/ubisoft/NGitLab</a>

Neueste Beiträge

DWX hakt nach: Wie stellt man Daten besonders lesbar dar?
Dass das Design von Websites maßgeblich für die Lesbarkeit der Inhalte verantwortlich ist, ist klar. Das gleiche gilt aber auch für die Aufbereitung von Daten für Berichte. Worauf besonders zu achten ist, erklären Dr. Ina Humpert und Dr. Julia Norget.
3 Minuten
27. Jun 2025
DWX hakt nach: Wie gestaltet man intuitive User Experiences?
DWX hakt nach: Wie gestaltet man intuitive User Experiences? Intuitive Bedienbarkeit klingt gut – doch wie gelingt sie in der Praxis? UX-Expertin Vicky Pirker verrät auf der Developer Week, worauf es wirklich ankommt. Hier gibt sie vorab einen Einblick in ihre Session.
4 Minuten
27. Jun 2025
„Sieh die KI als Juniorentwickler“
CTO Christian Weyer fühlt sich jung wie schon lange nicht mehr. Woran das liegt und warum er keine Angst um seinen Job hat, erzählt er im dotnetpro-Interview.
15 Minuten
27. Jun 2025
Miscellaneous

Das könnte Dich auch interessieren

UIs für Linux - Bedienoberflächen entwickeln mithilfe von C#, .NET und Avalonia
Es gibt viele UI-Frameworks für .NET, doch nur sehr wenige davon unterstützen Linux. Avalonia schafft als etabliertes Open-Source-Projekt Abhilfe.
16 Minuten
16. Jun 2025
Mythos Motivation - Teamentwicklung
Entwickler bringen Arbeitsfreude und Engagement meist schon von Haus aus mit. Diesen inneren Antrieb zu erhalten sollte für Führungskräfte im Fokus stehen.
13 Minuten
19. Jan 2017
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige