乳胶到XPS | .NET的Aspose.TeX
另一种目标格式是 xps。一个xps文件实际上是一个ZIP软件包,其中包含文档的分页内容,以及特定查看者(例如Windows XPS查看器)和打印所需的元数据。软件包中的所有数据均由文件表示。其中一些是二进制的,并且包含图像,字体和ICC配置文件等资源。其他是各种特定模式中的XML文件。后者包括包含文档数据本身的文件。文档数据由一组文件组成 - 每个文件都包含文档单个页面的数据。此类文件由单个页面元素和子元素树组成 - canvas, path 和 glyphs。 canvas是一个分组元素,可以包含其他帆布,路径和glyphs。它可以控制所有子元素作为一个小组的外观。 路径元素用于定义向量图形路径。 *字形 *元素用于定义文本内容。这三个元素均具有定义外观各个方面的属性。
有 aspose.page库,该库提供了用于操纵XPS文档的API,并将其转换为PDF和栅格图像格式。
如何将乳胶转换为XPS
乳胶到XPS转换与 转换为栅格图像格式一样简单,只是必须将 saveOptions设置为 XPSSaveOptions类实例(默认情况下或明确),并且必须将设备更改为 XPSDEVICEclass的实例。
最简单的转换示例
以下示例展示了如何通过几个步骤将 LaTeX 文件转换为 XPS:
- 创建一个
TexDocument实例。 - 使用
TexDocument.Load加载源.tex文件。 - (可选)配置
XpsSaveOptions,例如压缩设置。 - 通过使用
XpsDevice调用document.Save将文档保存为 XPS。
此代码演示了从 LaTeX 生成 XPS 文件的最直接方法。
1// Convert LaTeX to XPS - simplest approach
2
3// Create conversion options for Object LaTeX format upon Object TeX engine extension.
4TeXOptions options = TeXOptions.ConsoleAppOptions(TeXConfig.ObjectLaTeX);
5
6// Specify a file system working directory for the output.
7options.OutputWorkingDirectory = new OutputFileSystemDirectory(OutputDir);
8
9// Initialize the options for saving in XPS format.
10options.SaveOptions = new XpsSaveOptions();
11
12// Run LaTeX to XPS conversion.
13new TeXJob(Path.Combine(DataDir, "hello-world.ltx"), new XpsDevice(), options).Run();编写主输出XPS文件的另一种方法
XPSDevice类的另一个构造函数使我们可以以替代方式获取所得的XPS文件。
其他转换示例
此代码片段演示了如何使用接受 Stream 参数的 XpsDevice 构造函数。步骤如下:
- 创建一个
TexDocument并加载 LaTeX 源文件。 - 创建一个
MemoryStream来保存 XPS 输出。 - 使用流实例化
XpsDevice。 - 将文档保存到设备,然后即可使用流(例如,通过网络发送或存储在数据库中)。
当您需要将 XPS 数据保存在内存中而不是作为磁盘上的文件时,此方法非常有用。
1// Convert LaTeX to XPS - alternative approach with stream
2
3// Create the stream to write the XPS file to.
4using (Stream xpsStream = File.Open(Path.Combine(OutputDir, "hello-world-alt.xps"), FileMode.Create))
5{
6 // Create conversion options for Object LaTeX format upon Object TeX engine extension.
7 TeXOptions options = TeXOptions.ConsoleAppOptions(TeXConfig.ObjectLaTeX);
8
9 // Specify a file system working directory for the output.
10 options.OutputWorkingDirectory = new OutputFileSystemDirectory(OutputDir);
11
12 // Initialize the options for saving in XPS format.
13 options.SaveOptions = new XpsSaveOptions(); // Default value. Arbitrary assignment.
14
15 // Run LaTeX to XPS conversion.
16 new TeXJob(Path.Combine(DataDir, "hello-world.ltx"), new XpsDevice(xpsStream), options).Run();
17}效果与我们得到 这里相同。
您还可以根据 Aspose.TeX for .NET api构建的免费乳胶转换 Web App。