Convertować XPS na BMP w C#
Konwersja plików XPS na obrazy BMP w C# jest powszechnym wymaganiem, gdy trzeba wyodrębnić wizualne reprezentacje dokumentów XPS do druku, archiwizacji lub integracji w przepływach pracy przetwarzania obrazów. Używając Conholdate.Total for .NET, zadanie to staje się proste i efektywne.
Dlaczego konwertować XPS na BMP?
Oto kilka powodów, dla których możesz potrzebować konwertować XPS na BMP:
- Wysokiej jakości wyjście: BMP zachowuje pełną wierność obrazu, co jest przydatne w druku lub pracy projektowej.
- Uproszczone udostępnianie: obrazy BMP można łatwo otworzyć i wyświetlić na różnych platformach.
- Ekstrakcja danych: Wyciągnij zawartość na poziomie strony do analizy lub OCR.
- Przetwarzanie wsadowe: Konwertuj wiele stron lub dokumentów w jednym kroku za pomocą automatyzacji .NET.
Convertować XPS na BMP w C#
Podążaj za krokami poniżej, aby przeprowadzić konwersję:
- Załaduj dokument XPS za pomocą klasy
XpsDocument. - Utwórz i skonfiguruj instancję
BmpSaveOptions. - Wywołaj metodę
SaveAsImage, aby wygenerować tablice bajtów obrazu BMP. - Iterate through each page and save the images to the disk.
Convertować XPS na BMP w C#
// Define the working directory.
string dataDir = "/Desktop";
string outputFileName = dataDir + "XPStoImage_out.bmp";
// Instantiate an instance of the XpsLoadOptions class.
// Load XPS document from the XPS file by initializing an instance of the XpsDocument class.
XpsDocument document = new XpsDocument(dataDir + "input.xps", new XpsLoadOptions());
// Initialize BmpSaveOptions object with necessary parameters.
BmpSaveOptions options = new BmpSaveOptions()
{
SmoothingMode = SmoothingMode.HighQuality,
Resolution = 300,
PageNumbers = new int[] { 1, 2, 6 }
};
// Invoke SaveAsImage method to save XPS document to the images byte arrays.
byte[][][] imagesBytes = document.SaveAsImage(options);
// Iterate through document partitions (fixed documents, in XPS terms)
for (int i = 0; i < imagesBytes.Length; i++)
{
// Iterate through partition pages
for (int j = 0; j < imagesBytes[i].Length; j++)
{
// Initialize image output stream
using (Stream imageStream = System.IO.File.Open(Path.GetDirectoryName(outputFileName) + Path.DirectorySeparatorChar +
Path.GetFileNameWithoutExtension(outputFileName) + "_" + (i + 1) + "_" + (j + 1) +
Path.GetExtension(outputFileName), System.IO.FileMode.Create, System.IO.FileAccess.Write))
// Write image
imageStream.Write(imagesBytes[i][j], 0, imagesBytes[i][j].Length);
}
}
Ten kod demonstruje kompletny proces konwersji dokumentów XPS na obrazy BMP w C#. Plik XPS jest ładowany za pomocą klasy XpsDocument wraz z XpsLoadOptions, aby przygotować go do renderowania. Następnie inicjalizowany jest obiekt BmpSaveOptions, w którym można ustawić rozdzielczość obrazu, tryb wygładzania oraz konkretne strony do konwersji. Zapewnia to, że każda strona jest zapisywana oddzielnie z wyraźnym oznaczeniem, co ułatwia zarządzanie i wykorzystywanie wygenerowanych obrazów w dalszych aplikacjach. Ogólnie rzecz biorąc, ta metoda zapewnia bardzo wydajny sposób na wyodrębnienie i zachowanie zawartości XPS w formacie BMP.
Wnioski
Konwersja dokumentów XPS na obrazy BMP w C# pozwala deweloperom generować rastrowe wyjścia obrazów do łatwej integracji, archiwizacji lub dalszego przetwarzania. Conholdate.Total dla .NET oferuje potężne interfejsy API do obsługi takich konwersji dokumentów z minimalnym wysiłkiem.
