我是Aspose PDF的新手。我不明白为什么我得到这个交叉引用错误。将图像添加到pdf文件时会发生这种情况。
以下是代码示例。
// Gets the image file to be merged with the document
var b1 = GetDocumentFile(imageLayer.UNIQUE_ID);
if (b1.File.DocumentLayer?.PAGE_NUMBER != null)
{
var i = b1.File.DocumentLayer.PAGE_NUMBER.Value;
var pngBin = EFSUtil.ReadFileFromFileServer(b1.File.FullFilePathAndName, b1.Server);
pngBin = CheckIfWebPAndProcess(pngBin);
//open document based ont eh stream
var pdfDocument = new Document(pdfMemoryStream);
var rect = pdfDocument.Pages[i].GetPageRect(true);
pdfDocument.Pages[i].AddImage(new MemoryStream(pngBin), rect); <-- Error hit here
var bMemStrm = new MemoryStream();
pdfDocument.Save(bMemStrm);
pdfMemoryStream = bMemStrm;
}
我试图获得一些有价值的信息,说明为什么错误发生在AddImage()
期间,我也试图理解为什么错误发生以及如何解决它但不成功。我能找到的最近的是这些链接。
我希望你能帮助我。谢谢
更新
不确定这是否会有所帮助,但这是在AddImage发生问题时的堆栈跟踪
at . ()
at .(Int32 , Int32& )
at . (Int32 )
at .(Int32 )
at Aspose.Pdf.OperatorCollection.79au5vc3bv4m9r8vf6tce224vh3rwyeh ()
at Aspose.Pdf.OperatorCollection.(IList )
at Aspose.Pdf.OperatorCollection.(IList , )
at Aspose.Pdf.OperatorCollection.(List`1 )
at Aspose.Pdf.OperatorCollection.Add(ICollection ops)
at Aspose.Pdf.Page.(Stream , Rectangle , Matrix , CompositingParameters , Boolean , Boolean , & )
at Aspose.Pdf.Page.(Stream , Rectangle , Matrix , CompositingParameters , & )
at Aspose.Pdf.Page.AddImage(Stream imageStream, Rectangle imageRect)