Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/279.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何将PdfContentBytes转换为字节数组_C#_Asp.net_Pdf_Itextsharp_Jpeg - Fatal编程技术网

C# 如何将PdfContentBytes转换为字节数组

C# 如何将PdfContentBytes转换为字节数组,c#,asp.net,pdf,itextsharp,jpeg,C#,Asp.net,Pdf,Itextsharp,Jpeg,我正在使用iTextSharp DLLin asp.net PdfReader reader = new PdfReader(path); //create footer MemoryStream outStream = new MemoryStream(); PdfStamper textStamp = new PdfStamper(reader, outStream); BaseFont baseFont = BaseFont.

我正在使用iTextSharp DLLin asp.net

PdfReader reader = new PdfReader(path);
        //create footer
        MemoryStream outStream = new MemoryStream();
        PdfStamper textStamp = new PdfStamper(reader, outStream);
        BaseFont baseFont = BaseFont.CreateFont(BaseFont.HELVETICA_BOLD, Encoding.ASCII.EncodingName, false);
        for (int i = 1; i <= reader.NumberOfPages; i++)
        {
            PdfContentByte pdfPageContents = textStamp.GetOverContent(i);            
//How to convert the PdfContentByte  to array of bytes here?
}
PdfReader reader=新的PdfReader(路径);
//创建页脚
MemoryStream outStream=新的MemoryStream();
PdfStamper textStamp=新的PdfStamper(读卡器,分流);
BaseFont BaseFont=BaseFont.CreateFont(BaseFont.HELVETICA_粗体,Encoding.ASCII.EncodingName,false);
对于(inti=1;i请尝试以下方法:

PdfReader reader = new PdfReader(path);
MemoryStream outStream = new MemoryStream();
PdfStamper textStamp = new PdfStamper(reader, outStream);
byte[] content = outStream.ToArray();
试试这个:

PdfReader reader = new PdfReader(path);
MemoryStream outStream = new MemoryStream();
PdfStamper textStamp = new PdfStamper(reader, outStream);
byte[] content = outStream.ToArray();

我认为你的计划行不通。并不是所有看起来像是生活在一页纸上的东西实际上存在于一个页面上,有些东西存在于一个全局共享位置。因此,提取页面的字节会导致您的文档损坏。您可以将文件分开,这会带来这些共享资源,但仍然是PDF格式。如果您已经编写了PDF-to-JPEG例程,那么您可能还可以。如果没有,则可以使用iTextSharp将无法帮助您

iTextSharp(目前)“不知道”PDF“看起来”是什么样子,它只知道PDF的内容。它“知道”一段文本存在,但它不“知道”应该如何以视觉方式呈现。它“知道”PDF可能有两个图像,但不“知道”甚至不关心它们是否重叠,这也是渲染器的问题

再一次,如果你已经编写了一个PDF到JPEG的例程,那么忽略我所说的。但是PDF的字节与JPEG的字节没有任何共同之处。尽管PDF可能包含JPEG,但它也可以包含许多其他类型的二进制数据。这些数据也可能在流中被压缩


现在,如果你是,这是iTextSharp可以帮助你的事情。

我认为你的计划行不通。不是所有看起来像是“页面”上的东西实际上存在于一个页面上,有些东西存在于一个全局共享位置。因此,提取页面的字节会导致您的文档损坏。您可以将文件分开,这会带来这些共享资源,但仍然是PDF格式。如果您已经编写了PDF-to-JPEG例程,那么您可能还可以。如果没有,则可以使用iTextSharp将无法帮助您

iTextSharp(目前)“不知道”PDF“看起来”是什么样子,它只知道PDF的内容。它“知道”一段文本存在,但它不“知道”应该如何以视觉方式呈现。它“知道”PDF可能有两个图像,但不“知道”甚至不关心它们是否重叠,这也是渲染器的问题

再一次,如果你已经编写了一个PDF到JPEG的例程,那么忽略我所说的。但是PDF的字节与JPEG的字节没有任何共同之处。尽管PDF可能包含JPEG,但它也可以包含许多其他类型的二进制数据。这些数据也可能在流中被压缩


现在,如果您是,iTextSharp可以帮助您解决这一问题。

您可以获得
PdfContentByte的
byte[]
,如下所示:

pdfPageContents.getInternalBuffer().toByteArray();

您可以获得
PdfContentByte
byte[]
,如下所示:

pdfPageContents.getInternalBuffer().toByteArray();

我想要每个PDF页面的字节数组…?我想要每个PDF页面的字节数组…?有点晚,但这没有返回字节。但是这个->
pdfBytes=pdfContentByte.InternalBuffer.Buffer;
有点晚,但这没有返回字节。但是这个->
pdfBytes=pdfContentByte.InternalBuffer.Buffer;