Jak dodać obraz do DOCX w C

This article was translated from English: Does it need improvement?
Translated
View the article in English

IronWord udostępnia klasę ImageContent do wstawiania obrazów (.jpg, .png, .bmp, .tiff, .gif) do plików DOCX z możliwością dostosowania właściwości, takich jak szerokość, wysokość i zawijanie tekstu. Uzyj IronWord, aby dodac obrazy do dokumentów Word dla automatyzacji dokumentów i generowania raportow.

Szybki start: Dodaj obraz do DOCX w C#

  1. Zainstaluj IronWord za pomocą Menedżera pakietów NuGet
  2. Utwórz nową instancję WordDocument
  3. Załaduj obraz za pomocą klasy ImageContent
  4. Dodaj obraz do dokumentu za pomocą AddImage()
  5. Zapisz dokument jako DOCX
  1. Install IronWord with NuGet Package Manager

    PM > Install-Package IronWord
  2. Skopiuj i uruchom ten fragment kodu.

    using IronWord;
    using IronWord.Models;
    
    // Create new document
    WordDocument doc = new WordDocument();
    
    // Add image
    ImageContent image = new ImageContent("photo.jpg");
    doc.AddImage(image);
    
    // Save document
    doc.SaveAs("document-with-image.docx");
  3. Wdrożenie do testowania w środowisku produkcyjnym

    Rozpocznij używanie IronWord w swoim projekcie już dziś z darmową wersją próbną

    arrow pointer

Wyprobuj IronWord


Jak dodac obraz do DOCX?

Odwolaj sie do obrazu za pomoca jego ścieżki pliku. Najpierw należy utworzyć instancję klasy ImageContent, podając ścieżkę do pliku jako ciąg znaków. W całym pliku należy używać zmiennej image w celu modyfikacji właściwości, takich jak szerokość i wysokość. Dodaj obraz do pliku .docx za pomocą funkcji AddImage(). Wyeksportuj i zapisz dokument lokalnie.

Przyklad poniżej dodaje obraz do dokumentu bez zadnego wezla nadrzednego. Obslugiwane formaty plików to .jpg, .png, .bmp, .tiff oraz .gif. Ta elastycznosc pozwala pracowac z dowolnym popularnym formatem obrazu.

PoradyWstaw obraz jako element podrzedny w akapicie dla lepszej hierarchii dokumentu. Akapit definiuje zawijanie tekstu i inne własności formatowania tekstu. To podejście daje wieksza kontrole nad pozycjonowaniem obrazu i pozwala obrazom plynnie przechodzic z otaczajacym tekstem.

:path=/static-assets/word/content-code-examples/how-to/add-image-insert-image.cs
using IronWord;
using IronWord.Models;
using IronWord.Models.Enums;

// initializing docx file
WordDocument doc = new IronWord.WordDocument();

// instantiating image file
IronWord.Models.ImageContent image = new IronWord.Models.ImageContent("sample-image.jpg");

// modifying image properties
image.Width = 200;
image.Height = 200;

// AddImage function saving the image
doc.AddImage(image);

// Save and export the file
doc.SaveAs("inserted-image.docx");
Imports IronWord
Imports IronWord.Models
Imports IronWord.Models.Enums

' Initializing docx file
Dim doc As New IronWord.WordDocument()

' Instantiating image file
Dim image As New IronWord.Models.ImageContent("sample-image.jpg")

' Modifying image properties
image.Width = 200
image.Height = 200

' AddImage function saving the image
doc.AddImage(image)

' Save and export the file
doc.SaveAs("inserted-image.docx")
$vbLabelText   $csharpLabel
Dokument Word pokazujacy wstawiony obraz nocnej panoramy miejskej z karta Narzędzia Glowne pokazujaca opcje formatowania

Jakie formaty obrazów są obsługiwane?

Obslugiwane formaty plików: .jpg, .png, .bmp, .tiff oraz .gif. Kazdy format utrzymuje swoja jakosc po wstawieniu. JPEG najlepiej sprawdza sie dla fotografii. PNG obsługuje przezroczystosc dla logo i grafik. BMP zapewnia jakosc bez kompresji. TIFF nadaje sie do dokumentów drukowanych wysokiej jakosci. GIF pozwala na proste animacje (tylko pierwsza klatka jest wyświetlana w statycznych dokumentach).

Gdzie umieszcza sie obraz w dokumencie?

Obrazy sa domyslnie dodawane w aktualnej pozycji kursora, bez zadnego wezla nadrzednego. Dla precyzyjnego pozycjonowania, wstaw obrazy jako elementy podrzedne w akapitach. To zapewnia lepsza kontrole nad przepływem tekstu i integruje obrazy ze struktura dokumentu.

Dłączego używać klasy ImageContent?

Klasa ImageContent zarządza właściwościami obrazów w sposób uporządkowany. Zmodyfikuj wymiary, pozycjonowanie i formatowanie przed wstawieniem. To podejście zapewnia spojnosc w procesie generowania dokumentów i stosuje standardowe zasady formatowania w całej aplikacji. Klasa kapsuluje wszystkie własności związane z obrazem, co sprawia, ze kod jest łatwiejszy do utrzymania i redukuje błędy formatowania.

Jak dodac obrazy przez Stream?

Lokalne lub statyczne obrazy URL sa łatwe do dodania przy użyciu poprzedniej metody. Jednakze aplikacje często pracuja z obrazami z baz danych, uslug webowych lub dynamicznie generowanych treści. Użyj metody Stream, aby dodać obrazy za zabezpieczonymi interfejsami API wymagającymi uwierzytelnienia.

Przyklad poniżej pokazuje klienta HTTP wysylajacego tokeny autoryzacji do pobrania uwierzytelnionego strumienia obrazu. Strumien integruje sie bezpośrednio z dokumentem przed eksportem. To podejście eliminuje tymczasowe przechowywanie plików i zwieksza bezpieczeństwo dla przetwarzania danych obrazu.

:path=/static-assets/word/content-code-examples/how-to/add-image-insert-image-via-http-stream.cs
using IronWord;
using IronWord.Models;
using IronWord.Models.Enums;
using System.IO;
using System.Net.Http;
using System.Threading.Tasks;

// initializing docx file
WordDocument doc = new IronWord.WordDocument();

using (HttpClient client = new HttpClient())
{
    // Add authentication headers
    client.DefaultRequestHeaders.Add("Authorization", "Bearer YOUR_API_KEY_HERE");
    client.DefaultRequestHeaders.Add("User-Agent", "MyApp/1.0");

    // Get image from authenticated endpoint
    Stream authenticatedStream = await client.GetStreamAsync("https://api.example.com/secure/image.png");
    doc.AddImage(authenticatedStream);
}

// Export docx
doc.SaveAs("added-image-via-http-stream.docx");
Imports IronWord
Imports IronWord.Models
Imports IronWord.Models.Enums
Imports System.IO
Imports System.Net.Http
Imports System.Threading.Tasks

' initializing docx file
Dim doc As New IronWord.WordDocument()

Using client As New HttpClient()
    ' Add authentication headers
    client.DefaultRequestHeaders.Add("Authorization", "Bearer YOUR_API_KEY_HERE")
    client.DefaultRequestHeaders.Add("User-Agent", "MyApp/1.0")

    ' Get image from authenticated endpoint
    Dim authenticatedStream As Stream = Await client.GetStreamAsync("https://api.example.com/secure/image.png")
    doc.AddImage(authenticatedStream)
End Using

' Export docx
doc.SaveAs("added-image-via-http-stream.docx")
$vbLabelText   $csharpLabel

Kiedy używać metody Stream?

Użyj metody Stream, gdy:

  • Obrazy sa chronione za zabezpieczonymi API wymagajacymi uwierzytelnienia
  • Przetwarzanie obrazów dynamicznie z pamięci
  • Praca z obrazami przechowywanymi jako dane binarne w bazach danych

Ta metoda dobrze działa w aplikacjach Enterprise, gdzie obrazy sa przechowywane w systemach zarządzania dokumentami, pamięci w chmurze lub generowane przez usługi przetwarzania obrazów.

Jakie sa korzysci z ladowania przez Stream?

Ladowanie przez Stream integruje obrazy z uwierzytelnionych punktow koncowych bez zapisywania tymczasowych plików. Poprawia to bezpieczeństwo i wydajność. Zalety obejmują:

  • Zmniejszona liczba operacji we/wy na dysku
  • Brak przechowywania w pamięci cache na dysku wizerunkow
  • Workflow przetwarzania obrazu w czasie rzeczywistym
  • Lepsze zarządzanie pamięcią dla duzych obrazów
  • Elastyczne opcje zrodla obrazów

Jak mogę zmodyfikowac własności obrazu?

IronWord dostarcza kompletne metody do dostosowywania własności obrazu. Dostosuj te właściwości przed lub po dodaniu obrazu do dokumentu.

Ustawienia Opis Przykład
Szerokość Poziome wymiary obrazu w pikselach image.Width = 500;
Wysokość Pionowe wymiary obrazu w pikselach image.Height = 300;
WrapText Zachowanie zawijania tekstu wokol obrazu image.WrapText = WrapText.Square;
Odległość od lewej Pomiar odstepu od lewego brzegu w pikselach image.DistanceFromLeft = 10;
Odległość od prawej Pomiar odstepu od prawego brzegu w pikselach image.DistanceFromRight = 10;
Odległość od góry Pomiar odstepu od gornego brzegu w pikselach image.DistanceFromTop = 15;
Odległość od dołu Pomiar odstepu od dolnego brzegu w pikselach image.DistanceFromBottom = 15;
Stanowisko Informacja o umiejscowieniu przestrzennym (wspolrzedne X i Y) image.Position = new ElementPosition(50, 100);
Skala Wspolczynniki proporcji dla osi X i Y image.Scale = new PointF(1.5f, 1.5f);
Przetłumacz Wspolrzedne przesuniecia dla ponownego pozycjonowania image.Translate = new PointF(20, 30);

Jak mogę dostosować szerokosc i wysokosc?

Zaimplementuj niestandardowe szerokosc i wysokosc, zmieniajac proporcje. Kontroluj, jak obrazy pojawiaja sie w dokumentach, czy to zachowujac proporcje, czy dopasowujac sie do okreslonych ograniczeń ukladu.

:path=/static-assets/word/content-code-examples/how-to/add-image-custom-size.cs
using IronWord;

// initializing docx file
WordDocument doc = new IronWord.WordDocument();

// instantiating image file
IronWord.Models.ImageContent image = new IronWord.Models.ImageContent("sample-image.tiff");

// modifying the aspect ratio by introducing custom width
image.Width = 800;
image.Height = 200;

// AddImage function saving the image
doc.AddImage(image);

// Save and export the file
doc.SaveAs("custom-size-image.docx");
Imports IronWord

' initializing docx file
Dim doc As New IronWord.WordDocument()

' instantiating image file
Dim image As New IronWord.Models.ImageContent("sample-image.tiff")

' modifying the aspect ratio by introducing custom width
image.Width = 800
image.Height = 200

' AddImage function saving the image
doc.AddImage(image)

' Save and export the file
doc.SaveAs("custom-size-image.docx")
$vbLabelText   $csharpLabel
Dokument Word pokazujacy obraz laptopa z nakladka tekstowa 'Tagged Image File F', pokazujaca właściwości obrazu

Co dzieje sie z proporcjamki?

Niestandardowe wartosci szerokosci i wysokosci nadpisuja oryginalne proporcje. Rozciagaj lub kompresuj obrazy, aby dopasowac sie do wymagań ukladu, takich jak nagłówki, paski boczne lub elementy o stalej wielkosci. Skrajne zniekształcenia mogą wyglądac nieprofesjonalnie. Aby zachowac proporcje podczas zmiany rozmiaru, oblicz wymiary proporcjonalne w oparciu o docelowy rozmiar.

Jakie własności ustawic najpierw?

Ustaw własności w tej kolejnosci:

  1. Wymiary (szerokosc/wysokosc) - fundament ukladu obrazu
  2. Pozycjonowanie (własności Odleglosci) - kontrola nad odstepami i marginesami
  3. Zaawansowane własności (skala/przesuniecie) - dostrojenie

To podejście zapewnia, ze kazda własność opiera sie logicznie na poprzednich. Niektore własności wspoldziałaja - zawijanie tekstu wpływa na działanie własności odleglosci.

Często Zadawane Pytania

Jak dodać obraz do pliku DOCX w C#?

Z IronWord możesz dodać obrazy do plików DOCX, tworząc instancję ImageContent z ścieżką do pliku obrazu, a następnie używając metody AddImage(). IronWord obsługuje powszechne formaty takie jak JPG, PNG, BMP, TIFF i GIF, co umożliwia łatwe programowe wstawianie obrazów do dokumentów Word.

Jakie formaty obrazów są obsługiwane przy dodawaniu obrazów do dokumentów Word?

IronWord obsługuje wszystkie główne formaty obrazów, w tym pliki .jpg, .png, .bmp, .tiff i .gif. Każdy format zachowuje swoją jakość po wstawieniu - JPEG do fotografii, PNG do grafik z przeźroczystościami, BMP do nieskompresowanej jakości, TIFF do drukowania dokumentów w wysokiej jakości i GIF do prostych animacji (pokazujący tylko pierwszą klatkę).

Czy mogę kontrolować rozmiar i pozycjonowanie obrazów w plikach DOCX?

Tak, klasa ImageContent IronWord pozwala na dostosowanie właściwości obrazu, takich jak szerokość, wysokość i zawijanie tekstu. Możesz modyfikować wymiary i pozycjonowanie przed wstawieniem, dając pełną kontrolę nad tym, jak obrazy będą się prezentować w dokumentach Word.

Jak wstawić obraz w akapicie dla lepszej struktury dokumentu?

IronWord umożliwia wstawianie obrazów jako elementów podrzędnych w akapitach, co zapewnia lepszą hierarchię dokumentu i kontrolę nad zawijaniem tekstu. To podejście integruje obrazy z otaczającym przepływem tekstu i daje bardziej precyzyjne opcje pozycjonowania w porównaniu do dodawania obrazów bez węzła nadrzędnego.

Jaki jest najszybszy sposób na programowe dodanie obrazu do dokumentu Word?

Najszybszą metodą z IronWord jest utworzenie instancji WordDocument, załadowanie obrazu za pomocą new ImageContent('photo.jpg'), wywołanie doc.AddImage(image), i zapisanie dokumentu przy użyciu doc.SaveAs('document-with-image.docx'). Ten prosty czterostopniowy proces obejmuje cały przepływ pracy dotyczący wstawiania obrazów.

Ahmad Sohail
Programista Full Stack

Ahmad to full-stack developer z solidnym fundamentem w C#, Pythonie i technologiach webowych. Ma głębokie zainteresowanie tworzeniem skalowalnych rozwiązań oprogramowania i cieszy się badaniem, jak projektowanie i funkcjonalność spotykają się w rzeczywistych aplikacjach.

Przed dołączeniem do zespołu Iron Software, Ahmad pracował nad projektami ...

Czytaj więcej
Gotowy, aby rozpocząć?
Nuget Pliki do pobrania 44,829 | Wersja: 2026.5 just released
Still Scrolling Icon

Wciąż przewijasz?

Czy chcesz szybko dowodu? PM > Install-Package IronWord
uruchom próbkę zobacz, jak twoje dane stają się dokumentem Word.