XpsDocument GetFixedDocumentSequence return 空
XpsDocument GetFixedDocumentSequence return null
我这样从打印机读取数据:
using (Stream stream = client.GetStream())
{
using (MemoryStream ms = new MemoryStream())
{
stream.CopyTo(ms);
client.Close();
byte[] result = ms.ToArray();
...
using (var memoryStream = new MemoryStream(result))
{
using (var package = Package.Open(memoryStream, FileMode.Open))
{
var packageUri = new Uri("memorystream://printstream");
PackageStore.AddPackage(packageUri, package);
var xpsDocument = new XpsDocument(package, CompressionOption.Fast, packageUri.OriginalString);
return xpsDocument.GetFixedDocumentSequence() // NULL
我也尝试过将流直接保存到文件中,然后读取为 File.ReadAllBytes(filePath),但结果是一样的。
将流保存到文件后,我可以通过 XpsViewer 打开它,没有任何问题。
奇怪,但它正在工作。我必须使用 XpsConverter.exe 并将 .xps 文件转换为 .xps。这是@AXMIM
我这样从打印机读取数据:
using (Stream stream = client.GetStream())
{
using (MemoryStream ms = new MemoryStream())
{
stream.CopyTo(ms);
client.Close();
byte[] result = ms.ToArray();
...
using (var memoryStream = new MemoryStream(result))
{
using (var package = Package.Open(memoryStream, FileMode.Open))
{
var packageUri = new Uri("memorystream://printstream");
PackageStore.AddPackage(packageUri, package);
var xpsDocument = new XpsDocument(package, CompressionOption.Fast, packageUri.OriginalString);
return xpsDocument.GetFixedDocumentSequence() // NULL
我也尝试过将流直接保存到文件中,然后读取为 File.ReadAllBytes(filePath),但结果是一样的。
将流保存到文件后,我可以通过 XpsViewer 打开它,没有任何问题。
奇怪,但它正在工作。我必须使用 XpsConverter.exe 并将 .xps 文件转换为 .xps。这是@AXMIM