Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/271.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# iText7将PDF转换为图像_C#_Itext7 - Fatal编程技术网

C# iText7将PDF转换为图像

C# iText7将PDF转换为图像,c#,itext7,C#,Itext7,请让我知道什么方法可以用来转换pdf到iText7图像。 在Itexsharp中,有一个将pdf文件转换为图像的选项。以下是链接。使用iTextSharp将PDF转换为图像 下面是使用以下引用链接创建的示例代码。 这不是预期的效果。它不是将pdf转换为图像。它正在创建一个1kb的空白图像 string fileName = System.IO.Path.GetFileNameWithoutExtension(inputFilePath); var pdfReader = new PdfRead

请让我知道什么方法可以用来转换pdf到iText7图像。 在Itexsharp中,有一个将pdf文件转换为图像的选项。以下是链接。使用iTextSharp将PDF转换为图像

下面是使用以下引用链接创建的示例代码。 这不是预期的效果。它不是将pdf转换为图像。它正在创建一个1kb的空白图像

string fileName = System.IO.Path.GetFileNameWithoutExtension(inputFilePath);
var pdfReader = new PdfReader(inputFilePath);
var pdfDoc = new iText.Kernel.Pdf.PdfDocument(pdfReader);
int pagesLength = pdfDoc.GetNumberOfPages()+1;
for (int i = 1; i < pagesLength; i++)
{
    if (!File.Exists(System.IO.Path.Combine(imageFileDir, fileName + "_" + 
 `enter code here`(startIndex + i) + ".png")) && i < pagesLength)
    {

        PdfPage pdfPages = pdfDoc.GetPage(i);
        PdfWriter writer = new PdfWriter(System.IO.Path.Combine(imageFileDir, fileName + "_" + (startIndex + i) + ".png"), new WriterProperties().SetFullCompressionMode(true));
        PdfDocument pdf = new PdfDocument(writer);
        PdfFormXObject pageCopy = pdfPages.CopyAsFormXObject(pdf);
        iText.Layout.Element.Image image = new iText.Layout.Element.Image(pageCopy);
    }
}
string fileName=System.IO.Path.GetFileNameWithoutExtension(inputFilePath);
var pdfReader=新的pdfReader(inputFilePath);
var pdfDoc=new iText.Kernel.Pdf.PdfDocument(pdfReader);
int pagesLength=pdfDoc.GetNumberOfPages()+1;
对于(int i=1;i
引用布鲁诺的话:

iText不会将PDF转换为光栅图像(例如.jpg、.png、…)。您误解了基于现有页面创建图像实例的示例。这些示例创建了一个XObject,可以在新的PDF中重用,就像它是一个矢量图像一样;它们不会将PDF页面转换为光栅图像

您可以使用GhostScript(我们在iText内部使用它进行测试)。它将pdf作为输入,并将其转换为一系列图像(每页一幅图像)。

引用Bruno:

iText不会将PDF转换为光栅图像(例如.jpg、.png、…)。您误解了基于现有页面创建图像实例的示例。这些示例创建了一个XObject,可以在新的PDF中重用,就像它是一个矢量图像一样;它们不会将PDF页面转换为光栅图像


您可以使用GhostScript(我们在iText内部使用它进行测试)。它将pdf作为输入并将其转换为一系列图像(每页一幅图像)。

您的第一个链接不使用iText将pdf转换为图像。您的第二个链接可以。另外:您正在使用
PdfWriter
类创建扩展名为
.png
的文件。无法使用
PdfWriter
实例创建PNG文件。我甚至想说:你不能用iText创建PNG文件。iText不会将PDF转换为光栅图像(例如.jpg、.png、…)。您误解了基于现有页面创建
图像
实例的示例。这些示例创建了一个XObject,可以在新的PDF中重用,就像它是一个矢量图像一样;他们不会将PDF页面转换为光栅图像。您的第一个链接不会使用iText将PDF转换为图像。您的第二个链接可以。另外:您正在使用
PdfWriter
类创建扩展名为
.png
的文件。无法使用
PdfWriter
实例创建PNG文件。我甚至想说:你不能用iText创建PNG文件。iText不会将PDF转换为光栅图像(例如.jpg、.png、…)。您误解了基于现有页面创建
图像
实例的示例。这些示例创建了一个XObject,可以在新的PDF中重用,就像它是一个矢量图像一样;它们不会将PDF页面转换为光栅图像。