IText7使用new PdfDocument(new PdfWriter(“文件路径”))创建PDF报错Unknown PdfException
时间: 2024-02-23 14:02:54 浏览: 377
这个错误通常是由于文件路径不正确或者没有足够的权限来创建PDF文件导致的。请确保您提供的文件路径是正确的,而且文件夹和文件都有足够的权限来进行写操作。另外,您还可以尝试将PdfWriter构造函数的第二个参数设置为true,以便在文件已经存在的情况下覆盖它。例如:
```
PdfDocument pdfDoc = new PdfDocument(new PdfWriter("文件路径", new WriterProperties().setCreateNew(true)));
```
如果这些方法都无法解决问题,请提供更详细的错误信息,以便我们更好地帮助您解决问题。
相关问题
IText7使用new PdfDocument(new PdfWriter(new MemoryStream()))创建PDF报错Unknown PdfException
这个错误通常是由于缺少必要的字体文件或者字体文件错误导致的。你可以尝试添加字体文件或者更换字体文件,具体可以按照以下步骤操作:
1. 确认你使用的字体文件是正确的,并且包含了所需要的字形信息。
2. 将字体文件添加到应用程序的资源文件夹中。
3. 使用`PdfFontFactory.CreateFont()`方法加载字体文件,并将返回的字体对象设置给所需的元素(如段落、表格等)。
4. 在创建PDF文档的时候,使用`PdfWriter`类的构造函数传入一个文件路径或者一个流对象,而不是使用`MemoryStream`。
如果你仍然遇到问题,可以提供更多的详细信息,我会尽力帮助你解决问题。
C# IText7通过PdfWriter创建的pdf文件损坏
如果你使用 iText7 中的 `PdfWriter` 类来创建 PDF 文件时出现损坏,可能是因为你没有正确地关闭 `PdfDocument` 或 `PdfWriter` 对象。在 iText7 中,你需要显式地调用 `Close` 方法来关闭 PDF 文件,以确保文件的正确写入和关闭。
下面是一个示例代码,展示如何使用 `PdfWriter` 类来创建 PDF 文件,并在写入完成后关闭相关对象:
```csharp
using iText.Kernel.Pdf;
using iText.Layout;
using iText.Layout.Element;
using System.IO;
class Program
{
static void Main(string[] args)
{
string outputFilePath = "output.pdf";
// 创建一个新的 PDF 文档
PdfDocument pdfDoc = new PdfDocument(new PdfWriter(outputFilePath));
// 创建一个文档对象
Document doc = new Document(pdfDoc);
// 添加一些内容
doc.Add(new Paragraph("Hello, World!"));
// 关闭文档对象
doc.Close();
// 关闭 PDF 文档对象
pdfDoc.Close();
}
}
```
在以上代码中,我们创建了一个新的 PDF 文档,并将一些内容添加到文档中。然后,我们分别调用 `Close` 方法来关闭文档和 PDF 文档对象。
如果你遵循这个模式,但仍然遇到 PDF 文件损坏的问题,那么可能是由于其他原因引起的。你可以尝试使用其他 PDF 阅读器或编辑器来打开文件,或者提供更多的上下文信息以帮助我们更好地理解问题。
阅读全文
相关推荐














