XPSからPNGへの変換
C++ 用 API ソリューションを介して XPS を PNG に変換します。
XPS から PNG へのコンバーター用の Aspose.Page は、C++ でサポートされている言語を使用して PNG 画像への変換を提供します。
ここに表示される API を使用して、独自のクロスプラットフォーム アプリケーションを作成したり、C++ プロジェクトに統合したりできます。
XPS を PNG に変換するには:
Aspose.Page for C++ API は、機能が豊富で強力で使いやすい、C++ プラットフォーム用のドキュメント操作および変換 API です。
最新バージョンを直接ダウンロードできます。NuGet パッケージ マネージャーを開いて、Aspose.Page.Cpp を検索してインストールします。パッケージ マネージャー コンソールから次のコマンドを使用することもできます。
Package Manager Console Command
PM> Install-Package Aspose.Page.Cpp
C++ を使用して XPS を PNG に変換する手順
Aspose.Page を使用すると、開発者はわずか数行のコードで XPS ファイルをロードして PNG に変換することが簡単になります。
- 入力ファイル名と XpsLoadOptions のインスタンスを入力ファイル名で作成します。 aspose.com/page/cpp/aspose.page.xps/xpsloadoptions/) をコンストラクター パラメーターとして使用します。
- 保存オプションを PngSaveOptions のインスタンスとして定義します。
- XPS ドキュメントの SaveAsImage メソッドを呼び出して、各ドキュメント ページを画像の配列バイトに保存します。
- 必要に応じてエラーを処理します。
XPS から PNG C++ への変換
// The path to the documents directory. | |
System::String dataDir = RunExamples::GetDataDir_WorkingWithDocumentConversion(); | |
//Outut file | |
System::String outputFileName = dataDir + u"XPStoImage_out.png"; | |
// Load XPS document form the XPS file | |
System::SharedPtr<XpsDocument> document = System::MakeObject<XpsDocument>(dataDir + u"input.xps", System::MakeObject<XpsLoadOptions>()); | |
// Initialize options object with necessary parameters. | |
System::SharedPtr<PngSaveOptions> options = System::MakeObject<PngSaveOptions>(); | |
options->set_SmoothingMode(System::Drawing::Drawing2D::SmoothingMode::HighQuality); | |
options->set_Resolution(300); | |
options->set_PageNumbers(System::MakeArray<int32_t>({1, 2, 6})); | |
// Save XPS document to the images byte arrays. The first dimension is for inner documents | |
// and the second one is for pages within inner documents. | |
System::ArrayPtr<System::ArrayPtr<System::ArrayPtr<uint8_t>>> imagesBytes = document->SaveAsImage(options); | |
// Iterate through document partitions (fixed documents, in XPS terms) | |
for (int32_t i = 0; i < imagesBytes->get_Length(); i++) | |
{ | |
// Iterate through partition pages | |
for (int32_t j = 0; j < imagesBytes[i]->get_Length(); j++) | |
{ | |
// Initialize image output stream | |
{ | |
System::SharedPtr<System::IO::Stream> imageStream = System::IO::File::Open(System::IO::Path::GetDirectoryName(outputFileName) + System::IO::Path::DirectorySeparatorChar + System::IO::Path::GetFileNameWithoutExtension(outputFileName) + u"_" + (i + 1) + u"_" + (j + 1) + System::IO::Path::GetExtension(outputFileName), System::IO::FileMode::Create, System::IO::FileAccess::Write); | |
// Clearing resources under 'using' statement | |
System::Details::DisposeGuard<1> __dispose_guard_0({ imageStream}); | |
// ------------------------------------------ | |
try | |
{ | |
imageStream->Write(imagesBytes[i][j], 0, imagesBytes[i][j]->get_Length()); | |
} | |
catch(...) | |
{ | |
__dispose_guard_0.SetCurrentException(std::current_exception()); | |
} | |
} | |
} | |
} | |
XPS から PNG への変換 Web アプリケーション
XPS を PNG ライブ デモ Web サイトにアクセスして、今すぐご利用ください。
XPS XPS ファイル形式とは
XPS 形式は PDF 形式に似ています。どちらもページ記述言語 (PDL) 形式です。 EPS は PostScript 言語ではなく、HTML に基づいています。 .eps ファイルには、ドキュメントの構造のマークアップと、ドキュメントがどのように見えるかに関する情報を含めることができます。また、ドキュメントを印刷およびレンダリングする方法についての説明も追加されています。この形式の特徴は、ドキュメントの説明を修正することです。つまり、誰が、どのオペレーティング システムからドキュメントを開いたとしても、同じように表示されます。
PNG PNG ファイル形式とは
Portable Network Graphics または PNG は、最も一般的な画像形式の 1 つです。これにより、高レベルの画像品質を維持しながら、非常に優れた圧縮が得られます。 PNG は、ファイルが軽く、画像の拡大縮小が容易なため、Web プロジェクトに最適な形式の 1 つでもあります。この形式を Web で使用する場合の欠点の 1 つは、キーワードを画像に直接追加できないことです。