小编Bru*_*gie的帖子

使用iTextSharp在系统中使用字体

我想用iTextSharp写一些文字.我正在使用这种方法:

var font = BaseFont.CreateFont(BaseFont.TIMES_BOLD, BaseFont.WINANSI, BaseFont.EMBEDDED);
Run Code Online (Sandbox Code Playgroud)

我的问题是:iTextSharp支持系统字体目录中的所有字体吗?

假设我在字体选择器对话框中选择了一个名为"mycoolfont"的字体.我可以创建一个新的iTextSharp字体吗?

var font = BaseFont.CreateFont("mycoolfont", BaseFont.WINANSI, BaseFont.EMBEDDED);
overContent.SetFontAndSize(font, fontSize);
Run Code Online (Sandbox Code Playgroud)

更新:

我试过var font = BaseFont.CreateFont("Verdana", BaseFont.WINANSI, BaseFont.EMBEDDED);但得到错误"Verdana"不被itextsharp识别

c# pdf fonts itextsharp

12
推荐指数
3
解决办法
4万
查看次数

使用itextsharp检查pdf复选框

我尝试了很多不同的方法,但我无法检查复选框!这是我尝试过的:

var reader = new iTextSharp.text.pdf.PdfReader(originalFormLocation);
using (var stamper = new iTextSharp.text.pdf.PdfStamper(reader,ms)) {
    var formFields = stamper.AcroFields;
    formFields.SetField("IsNo", "1");
    formFields.SetField("IsNo", "true");
    formFields.SetField("IsNo", "On");
}
Run Code Online (Sandbox Code Playgroud)

他们都没有工作.有任何想法吗?

pdf checkbox itextsharp

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

使用iText将字体嵌入PDF文件

我定义了一个标签映射,并获得了一个XML数据文件.我想使用iText将XML数据文件转换为PDF.问题是如何在将XML转换为PDF时将字体(例如波兰字体,中文字体)嵌入到目标PDF中?

embed tags fonts map itext

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

用于将网页转换为pdf的JavaScript库

是否有可以将网页转换为PDF文档的客户端库?我使用过jspdf,但生成的pdf不保留格式化的html(类似标签应该是PDF格式的粗体).

pdf-generation

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

如何阅读使用未知的随机所有者密码创建的PDF?

要求是一次处理一批PDF,并且成功使用用户密码对每个PDF进行加密.

但是,这些PDF以前是使用随机生成的动态所有者密码加密的(不知道任何一个)以防止任何编辑.

我使用iText进行加密,如下所示:

byte[] userPass = "user".getBytes();
byte[] ownerPass = "owner".getBytes();
PdfReader reader = new PdfReader("Misc.pdf");

PdfStamper stamper = new PdfStamper(reader,
            new FileOutputStream("Processed_Encrypted.pdf"));
stamper.setEncryption(userPass, ownerPass,
PdfWriter.ALLOW_PRINTING, PdfWriter.ENCRYPTION_AES_128
        | PdfWriter.DO_NOT_ENCRYPT_METADATA);
stamper.close();
reader.close();
Run Code Online (Sandbox Code Playgroud)

但是这段代码抛出了一个 com.itextpdf.text.exceptions.BadPasswordException: PdfReader not opened with owner password

有人可以指导如何解决此错误/绕过所有者密码?

在这里,我想明确表示我们合法拥有这些PDF,因此不会犯下任何犯罪/黑客行为.

PS:解决方案不仅限于iText,也可以使用任何其他Java库(免费或许可).

java pdf passwords itext aspose

10
推荐指数
1
解决办法
9735
查看次数

生成PDF时无法获取捷克语字符

在生成PDF时添加"Č"或"Ć"等字符时出现问题.我主要使用段落在我的PDF报告中插入一些静态文本.这是我使用的一些示例代码:

var document = new Document();
document.Open();
Paragraph p1 = new Paragraph("Testing of letters ?,?,Š,Ž,?", new Font(Font.FontFamily.HELVETICA, 10));
document.Add(p1);
Run Code Online (Sandbox Code Playgroud)

生成PDF文件时得到的输出如下所示:"测试字母,Š,Ž,Đ"

出于某种原因,iTextSharp似乎不会识别这些字母,例如"Č"和"Ć".

c# pdf asp.net unicode itextsharp

10
推荐指数
1
解决办法
7177
查看次数

使用iText将HTML转换为PDF

我发布这个问题是因为许多开发人员以不同的形式提出或多或少相同的问题.我将自己回答这个问题(我是iText集团的创始人/首席技术官),因此它可以成为"维基答案".如果Stack Overflow"文档"功能仍然存在,那么这将是文档主题的一个很好的候选者.

源文件:

我想将以下HTML文件转换为PDF:

<html>
    <head>
        <title>Colossal (movie)</title>
        <style>
            .poster { width: 120px;float: right; }
            .director { font-style: italic; }
            .description { font-family: serif; }
            .imdb { font-size: 0.8em; }
            a { color: red; }
        </style>
    </head>
    <body>
        <img src="img/colossal.jpg" class="poster" />
        <h1>Colossal (2016)</h1>
        <div class="director">Directed by Nacho Vigalondo</div>
        <div class="description">Gloria is an out-of-work party girl
            forced to leave her life in New York City, and move back home.
            When reports surface that a giant creature is destroying Seoul,
            she …
Run Code Online (Sandbox Code Playgroud)

html pdf pdf-generation itext xmlworker

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

Java 7 keytool椭圆曲线加密

我正在尝试使用带有keyalg ECC的keytool创建一个密钥库.

根据Oracle,这应该是可行的.我引用:

区域:工具

概要:keytooljarsigner工具现在支持密钥对生成和jar签名中的ECC算法.

RFE:6870812

我正在使用32位版本1.7.0_07,我已经尝试了使用-keyalg ECC,ECIES,ECDSA的keytool ......但我总是得到Cannot derive signature algorithm.

我使用的是错误的Java版本吗?我使用错误的名称进行ECC吗?

java encryption keytool elliptic-curve

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

使用PDFBox添加页码

如何将页码添加到使用PDFBox生成的文档中的页面?

合并不同的PDF后,有人能告诉我如何在文档中添加页码吗?我在Java中使用PDFBox库.

这是我的代码,它运行良好,但我需要添加页码.

 PDFMergerUtility ut = new PDFMergerUtility();
        ut.addSource("c:\\pdf1.pdf");
        ut.addSource("c:\\pdf2.pdf");
        ut.addSource("c:\\pdf3.pdf");
        ut.mergeDocuments();
Run Code Online (Sandbox Code Playgroud)

java pdf pdfbox

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

iText - 避免最后一行不将页面拆分到下一页

我正在使用java在itext 5上工作.我的页面包含多个动态行表.在某些情况下,表格的最后一行将使用下面的标题拆分为下一页.我正在使用setHeaderRows()setSkipFirstHeader()管理下一页的继续.最后一行有足够的空间放在前面的页面上.我想将最后一行放在同一页面而不是下一页.

例如,在第1页上,最后一行被拆分为下一页的第一行.相反,我想在第1页中安装该行,因此请保留一个包含所有空白的额外页面.

我尝试过使用setExtendLastRow(),但它不起作用.有谁知道如何解决这个问题.我附上了一份工作示例代码.

public class ProposalItextSplitLastRow {
 public static void main(String[] args) {
    try {
        Document document = new Document();
        document.setPageSize(PageSize.LETTER);
        document.setMargins(16, 14, 14, 14);
        PdfWriter writer = PdfWriter.getInstance(document, new FileOutputStream("C:/SplitLastRow.pdf"));
        document.open();
        document.setPageSize(PageSize.LETTER);
        document.setMargins(16, 14, 42, 38);

        for (int m = 1; m < 20; m++) {

            int row = 0;
            PdfPTable table = new PdfPTable(1);
            table.setSpacingAfter(0);
            table.setSpacingBefore(0);
            table.setWidthPercentage(100);

            table.setHeaderRows(1);
            table.setSkipFirstHeader(true);
            add(table, "Header Row continued " + m, BaseColor.LIGHT_GRAY, row++);
            add(table, "Header Row …
Run Code Online (Sandbox Code Playgroud)

java itext itextpdf

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