返回时返回错误: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) 我看到有很多与同一场景相关的问题,这个问题相差无几,无法找出解决方案。我在牢房的桌子上有一个。当我给连续文本,如“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)试图在java中使用iText 7.希望段落的一部分是大胆的.显然在早期版本中,这是通过单独格式化"块"然后将它们添加到段落来完成的.iText 7中根本不存在"块".IText 7的步骤是什么?
我想用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) 旧标题: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,但我找不到太多关于它的教程。 …
我试图使用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) 我正在尝试逐页拆分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) 我正在使用最新 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) 减少使用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文件中的像素总数.
实现这一目标的最简单/推荐方法是什么?
我有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: hidden
HTML 来实现我所需行为的CSS等效<div>
.)
itext7 ×10
java ×6
itext ×5
pdf ×4
c# ×3
.net-core ×1
asp.net ×1
css ×1
html ×1
javascript ×1
maui ×1
pdf-reader ×1
pdfstamper ×1
textarea ×1
xmlworker ×1