乳胶到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// Create conversion options instance.
2...
3// Initialize the options for saving in XPS format.
4options.SaveOptions = new XpsSaveOptions(); // Default value. Arbitrary assignment.
5// Run LaTeX to XPS conversion.
6new TeXJob(Path.Combine(RunExamples.InputDirectory, "sample.ltx"), new XpsDevice(), options).Run();
编写主输出XPS文件的另一种方法
XPSDevice类的另一个构造函数使我们可以以替代方式获取所得的XPS文件。
其他转换示例
此代码片段演示了如何使用接受 Stream
参数的 XpsDevice
构造函数。步骤如下:
- 创建一个
TexDocument
并加载 LaTeX 源文件。 - 创建一个
MemoryStream
来保存 XPS 输出。 - 使用流实例化
XpsDevice
。 - 将文档保存到设备,然后即可使用流(例如,通过网络发送或存储在数据库中)。
当您需要将 XPS 数据保存在内存中而不是作为磁盘上的文件时,此方法非常有用。
1// Create the stream to write the XPS file to.
2using (Stream xpsStream = File.Open(Path.Combine(RunExamples.OutputDirectory, "any-name.xps"), FileMode.Create))
3{
4 // Create conversion options for Object LaTeX format upon Object TeX engine extension.
5 ...
6 // Initialize the options for saving in XPS format.
7 options.SaveOptions = new XpsSaveOptions(); // Default value. Arbitrary assignment.
8 // Run LaTeX to XPS conversion.
9 new TeXJob(Path.Combine(RunExamples.InputDirectory, "hello-world.ltx"), new XpsDevice(xpsStream), options).Run();
10}
效果与我们得到 这里相同。
您还可以根据 Aspose.TeX for .NET api构建的免费乳胶转换 Web App。