标签: itext7

在 .net maui 中使用 itext7 时如何解决 Unknown PdfException

返回时返回错误:Unknown PdfException。- - > System.NotSupportedException:itext7.bouncy-castle-adapter 或itext7。bouncy-castle-fips-adap...在线

Var writer = new PdfWriter(stream);
Run Code Online (Sandbox Code Playgroud)

我的代码是尝试使用 itext7 扩展名创建一个 pdf 文件。In.net maui 的移动应用程序。

public static MemoryStream CreatePdf()
    {
        try
        {
            using (var stream = new MemoryStream())
            {
                var writer = new PdfWriter(stream);
                var pdf = new PdfDocument(writer);
                var document = new Document(pdf);
                var paragraph = new Paragraph("hello");
                document.Add(paragraph);
                document.Close();
                stream.Position = 0;
                return stream;
            }
        }
        catch(Exception ex)
        {
            Console.WriteLine(ex.Message);
            return null;
        }
    }
Run Code Online (Sandbox Code Playgroud)

c# itext7 maui visual-studio-2022

14
推荐指数
2
解决办法
2万
查看次数

使用Itext 7.1.7时,文本区域中的连续文本会剪切PDF溢出的文本

我看到有很多与同一场景相关的问题,这个问题相差无几,无法找出解决方案。我在牢房的桌子上有一个。当我给连续文本,如“cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc”它的溢出文本当我下载打印文件和正常的时候,我给正常的,breaks.Here文字是我的代码

.generaltable {
	background-color : #5C7FBF;
	border:thin;
	width : 100%;
	font-family: Arial, Helvetica, sans-serif;
	font-size: 14px;
	}
  
  
	.column {
	background-color : #DEEDFF;
	font-weight : bold;
	padding-bottom : 1px;
	padding-left : 1px;
	padding-right : 1px;
	padding-top : 1px;
	text-align : center;
	font-family: Arial, Helvetica, sans-serif;
	font-size: 14px;
	border: none;
	}
  
 .edit {
	background-color : #DEEDFF;
	border-width: 1px;
	border-style:solid;
	border-color:#DEEDFF;
	border: 1px solid #DEEDFF;
	color: black;
	text-align : left;
	font-weight : bold;
	font-family: Arial, Helvetica, sans-serif;
	font-size: 14px;
	word-break: break-all;
	}
  
  .iedit2 …
Run Code Online (Sandbox Code Playgroud)

html css java textarea itext7

11
推荐指数
1
解决办法
310
查看次数

是什么取代了iText 7中的大块?

试图在java中使用iText 7.希望段落的一部分是大胆的.显然在早期版本中,这是通过单独格式化"块"然后将它们添加到段落来完成的.iText 7中根本不存在"块".IText 7的步骤是什么?

java itext7

9
推荐指数
1
解决办法
2463
查看次数

Itext7生成带有异常的pdf"Pdf间接对象属于其他PDF文档.将对象复制到当前的pdf文档."

我想用itext 7生成一个pdf,但是我们遇到了一些错误:

com.itextpdf.kernel.PdfException: Pdf indirect object belongs to other PDF document. Copy object to current pdf document.
at com.itextpdf.kernel.pdf.PdfOutputStream.write(PdfOutputStream.java:195) ~[kernel-7.0.2.jar:na]
at com.itextpdf.kernel.pdf.PdfOutputStream.write(PdfOutputStream.java:185) ~[kernel-7.0.2.jar:na]
at com.itextpdf.kernel.pdf.PdfOutputStream.write(PdfOutputStream.java:115) ~[kernel-7.0.2.jar:na]
at com.itextpdf.kernel.pdf.PdfOutputStream.write(PdfOutputStream.java:187) ~[kernel-7.0.2.jar:na]
at com.itextpdf.kernel.pdf.PdfOutputStream.write(PdfOutputStream.java:115) ~[kernel-7.0.2.jar:na]
at com.itextpdf.kernel.pdf.PdfOutputStream.write(PdfOutputStream.java:187) ~[kernel-7.0.2.jar:na]
at com.itextpdf.kernel.pdf.PdfOutputStream.write(PdfOutputStream.java:115) ~[kernel-7.0.2.jar:na]
at com.itextpdf.kernel.pdf.PdfWriter.writeToBody(PdfWriter.java:383) ~[kernel-7.0.2.jar:na]
at com.itextpdf.kernel.pdf.PdfWriter.flushObject(PdfWriter.java:289) ~[kernel-7.0.2.jar:na]
at com.itextpdf.kernel.pdf.PdfDocument.flushObject(PdfDocument.java:1572) ~[kernel-7.0.2.jar:na]
at com.itextpdf.kernel.pdf.PdfObject.flush(PdfObject.java:159) ~[kernel-7.0.2.jar:na]
at com.itextpdf.kernel.pdf.PdfObject.flush(PdfObject.java:127) ~[kernel-7.0.2.jar:na]
at com.itextpdf.kernel.pdf.PdfObjectWrapper.flush(PdfObjectWrapper.java:94) ~[kernel-7.0.2.jar:na]
at com.itextpdf.kernel.pdf.PdfPage.flush(PdfPage.java:495) ~[kernel-7.0.2.jar:na]
at com.itextpdf.kernel.pdf.PdfPage.flush(PdfPage.java:454) ~[kernel-7.0.2.jar:na]
at com.itextpdf.kernel.pdf.PdfDocument.close(PdfDocument.java:785) ~[kernel-7.0.2.jar:na]
at com.itextpdf.layout.Document.close(Document.java:120) ~[layout-7.0.2.jar:na]
at com.xcz.afbp.thirdparty.service.impl.GeneratePDFService.generatePDF(GeneratePDFService.java:160) ~[classes/:na]
Run Code Online (Sandbox Code Playgroud)

我的生成代码:

public void generatePDF(CreditQueryData creditQueryData, Map<String, UserCreditContentView> contentViewMap, List<PackageCreditContentView> …
Run Code Online (Sandbox Code Playgroud)

java pdf itext7

8
推荐指数
2
解决办法
3297
查看次数

iText7 将 HTML 转换为 PDF“System.NullReferenceException”。

旧标题:iTextSharp 将 HTML 转换为 PDF“文档没有页面。”

我正在使用 iTextSharp 和 xmlworker 将 html 从视图转换为 ASP.NET Core 2.1 中的 PDF

我尝试了在网上找到的许多代码片段,但都生成了异常:

该文档没有页面。

这是我当前的代码:

public static byte[] ToPdf(string html)
{
    byte[] output;
    using (var document = new Document())
    {
        using (var workStream = new MemoryStream())
        {
            PdfWriter writer = PdfWriter.GetInstance(document, workStream);
            writer.CloseStream = false;
            document.Open();
            using (var reader = new StringReader(html))
            {
               XMLWorkerHelper.GetInstance().ParseXHtml(writer, document, reader);
               document.Close();
               output = workStream.ToArray();
            }
        }
   }
   return output;
}
Run Code Online (Sandbox Code Playgroud)

更新1

感谢 @Bruno Lowagie 的建议,我升级到了 iText7 和 pdfHTML,但我找不到太多关于它的教程。 …

pdf itext xmlworker .net-core itext7

8
推荐指数
1
解决办法
5236
查看次数

使用iText在pdf的某个位置加盖印章

我试图使用javascript获取位置并传递坐标以在邮票上应用戳记,但它无法正常工作.下面是我用来捕获鼠标指针坐标的函数.

function divMove(e){
    var div = document.getElementById('stamp');
    div.style.position = 'absolute';
    //div.style.top = e.clientY + 'px';
    //div.style.left = e.clientX + 'px';
    var box = div.getBoundingClientRect();
    mouse_top = e.clientY;
    mouse_left = e.clientX;
    var diff_x = mouse_left - box.left;
    var diff_y = mouse_top - box.top;
    div.style.top = ((Number(div.style.top.replace("px", "")) - 1) + diff_y) +"px";
    div.style.left = ((Number(div.style.left.replace("px", "")) - 1) + diff_x) +"px";
    document.getElementById("data").innerHTML =
        "mouse_top:" + mouse_top + "<br>mouse_left:" + mouse_left
}
Run Code Online (Sandbox Code Playgroud)

以下是使用iText处理冲压件的后端代码:

protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException …
Run Code Online (Sandbox Code Playgroud)

javascript java itext pdfstamper itext7

8
推荐指数
1
解决办法
447
查看次数

iText 7.0.4.0 - 将PdfDocument转换为字节数组

我正在尝试逐页拆分PDF文件,并获取每个页面文件的字节数组.但是,我在用于C#的iText版本7.0.4中将每个页面转换为字节数组时遇到问题.

其他解决方案中引用的方法依赖于PdfWriter.GetInstance或PdfCopy,这在iText版本7.0.4中似乎不再存在.

我已经浏览了iText的示例代码和API文档,但我无法从中提取任何有用的信息.

using (Stream stream = new MemoryStream(pdfBytes))
using (PdfReader reader = new PdfReader(stream))
using (PdfDocument pdfDocument = new PdfDocument(reader))
{
    PdfSplitter splitter = new PdfSplitter(pdfDocument);

    // My Attempt #1 - None of the document's functions seem to be of help.
    foreach (PdfDocument splitPage in splitter.SplitByPageCount(1))
    {
        // ??      
    }

    // My Attempt #2 - GetContentBytes != pdf file bytes.
    for (int i = 1; i <= pdfDocument.GetNumberOfPages(); i++)
    {
        PdfPage page = pdfDocument.GetPage(i);
        byte[] bytes = page.GetContentBytes();
    } …
Run Code Online (Sandbox Code Playgroud)

c# itext itext7

7
推荐指数
1
解决办法
2708
查看次数

Itext 7 - PdfReader 未使用所有者密码打开错误

我正在使用最新 Itext7 的此示例来填写文档,但收到此错误: iText.Kernel.Crypto.BadPasswordException: PdfReader 未使用所有者密码打开 在此输入图像描述 所以我环顾网络,发现有些人找到了解决此错误的方法 PdfReader.unethicalreading = true;,但是当我尝试使用相同的代码时,它说 PDFReader 中没有名为 unethicalreading 的定义

这是我的代码:

 string src = @"C:\test1.pdf";
    string dest = @"C:\Test2.pdf";
    PdfDocument pdfDoc = new PdfDocument(new PdfReader(src), new PdfWriter(dest));
    PdfAcroForm form = PdfAcroForm.GetAcroForm(pdfDoc, true);
    IDictionary<String, PdfFormField> fields = form.GetFormFields();
    PdfFormField toSet;
    fields.TryGetValue("Name", out toSet);
    toSet.SetValue("Some text");
Run Code Online (Sandbox Code Playgroud)

c# asp.net pdf-generation pdf-reader itext7

7
推荐指数
1
解决办法
7924
查看次数

iText:降低图像质量(减少生成的PDF大小)

减少使用iText新创建的PDF文件中JPEG图像大小的最佳做法是什么?(我的目标是在图像质量和文件大小之间进行权衡.)

图像创建如下:

Image image = new Image(ImageDataFactory.create(imagePath))
Run Code Online (Sandbox Code Playgroud)

我想提供一个比例因子,例如0.5,它将一行中的像素数减半.

假设我使用单个3 MB图像生成PDF.我试过image.scale(0.5f, 0.5f),但生成的PDF文件仍然大约3 MB.我预计它会变小.

因此,我猜想嵌入在PDF文件中的源图像不会被触及.但这就是我需要的:应该减少存储在磁盘上的整个PDF文件中的像素总数.

实现这一目标的最简单/推荐方法是什么?

java pdf pdf-generation itext itext7

7
推荐指数
1
解决办法
2431
查看次数

iText 7:如何在Div中允许溢出?

我有Div一定的身高:

Div div = new Div();
div.setHeight(100);
Run Code Online (Sandbox Code Playgroud)

如果,Div我添加了一个段落,其中有几行占用的区域高于Div,我会收到以下警告:

WARN com.itextpdf.layout.renderer.BlockRenderer - Element content was clipped because some height properties are set.
Run Code Online (Sandbox Code Playgroud)

除此之外,省略了段落的行.即使段落可以溢出Div底部边界,它也会在边界上方结束.

但是尽管有警告我不在乎,我甚至需要段落以隐藏的方式溢出下方的边界Div.

我怎样才能实现这样的行为?

(可以通过设置overflow: hiddenHTML 来实现我所需行为的CSS等效<div>.)

java pdf pdf-generation itext itext7

7
推荐指数
1
解决办法
581
查看次数