"파일이 손상된 데이터가 포함 된"파일. 내가 바이트 배열과 같은 웹 서비스에서이 파일을 얻는 경우에, 그러나VB.Net 인쇄 XPS는 내가 XPS 파일이 오류
Dim defaultPrintQueue = LocalPrintServer.GetDefaultPrintQueue
Dim xpsPrintJob As PrintSystemJobInfo = defaultPrintQueue.AddJob("test", "C:\Temp\test.xps", False)
을하고 XPS 파일로 저장 : 나는이 파일을 직접 인쇄하려고 할 때, 나는 내 아래 코드를 오류없이 그것을 할 수 있습니다 인쇄 할 수 없습니다.
저장 내 바이트 배열 코드는 다음과 같습니다 :
FS = New IO.FileStream("C:\Temp\test.xps", FileMode.Create)
FS.Write(arrayByte, 0, arrayByte.Length)
FS.Close()
또는이 코드 :
:An unhandled exception of type 'System.Printing.PrintJobException' occurred in System.Printing.dll
Additional information: An exception occurred while creating print job information. Check inner exception for details.
File.WriteAllBytes("c:\Temp\test.xps", arrayByte)
내가 test.xps를 인쇄하려고
, 나는 오류를 받고 있어요이 문제를 해결할 수 있습니까? 누구든지 아이디어가 있습니까?
그런데 웹 서비스가 필요하지 않습니다. 아래 코드를 참조하십시오. 이 xps 파일을 사용해 볼 수 있습니다. 먼저 파일을 바이트 배열로 채우 겠습니다. 그런 다음 바이트 배열을 xps 파일로 저장합니다.
먼저 XPS 파일이 작동되지만, 두 번째는 그 문제를 해결했습니다
Dim FS As FileStream
FS = File.Open("C:\Temp\test2.xps", FileMode.Open, FileAccess.Read)
Dim bByte(FS.Length) As Byte
FS.Read(bByte, 0, FS.Length)
FS.Close()
File.WriteAllBytes("c:\Temp\test2byte.xps", bByte)
Dim defaultPrintQueue = LocalPrintServer.GetDefaultPrintQueue
'This is working
Dim xpsPrintJob1 As PrintSystemJobInfo = defaultPrintQueue.AddJob("Test", "C:\Temp\test2.xps", False)
'This is not working
Dim xpsPrintJob2 As PrintSystemJobInfo = defaultPrintQueue.AddJob("Test", "C:\Temp\test2byte.xps", False)
원래 문제가 있을지도 모른다'어둡게 bByte Byte'로 (FS.Length)는 그 '어둡게 bByte (FS.Length - 1)되어야 할 때 Byte'한다. VB의 배열은 크기가 아닌 마지막 인덱스로 선언됩니다. –