标签: itextsharp

iTextSharp在单个单元格中添加文本和条形码?

基本上,我想使用iTextSharp将字符串和条形码组合到一个单元格中.从下面的代码可以看出以下两行:

 table.AddCell(tempstring);
 table.AddCell(new text.Phrase(new text.Chunk(image39, 0, 0)));
Run Code Online (Sandbox Code Playgroud)

下面列出完整的代码

using text = iTextSharp.text;
using pdf = iTextSharp.text.pdf;

text.Document doc = new text.Document();

            pdf.PdfWriter writer = pdf.PdfWriter.GetInstance(doc, new FileStream(pdfgen.sWorkPath + "\\OrderNumber" + txtSellerNumber.Text.ToString() + ".pdf", FileMode.Create));
            doc.Open();
            pdf.PdfContentByte cb = writer.DirectContent;

            pdf.Barcode39 code39 = new pdf.Barcode39();
            code39.Code = txtSellerNumber.Text.ToString();
            code39.StartStopText = false;
            text.Image image39 = code39.CreateImageWithBarcode(cb, null, null);

            iTextSharp.text.Table table = new iTextSharp.text.Table(3);
            table.BorderWidth = 2;
            table.BorderColor = new text.Color(0, 0, 255);
            table.Padding = 3;
            table.Spacing = 1;
            text.Cell cell = new …
Run Code Online (Sandbox Code Playgroud)

c# itextsharp

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

使用C#使用iTextsharp突出显示现有PDF的文本(颜色)

我想知道我们是否可以突出显示已PDF使用的文本(颜色)itextsharp

我看到了创建新PDF等示例,同时我们可以应用颜色.我正在寻找可以从PDF获取大量文本并应用颜色并保存的地方.

这是我想要完成的事情,阅读PDF文件,解析文本并根据业务规则突出显示文本.

任何第三方dll建议也有效,这是我正在寻找的第一步opensource iTextsharp library.

.net c# asp.net itextsharp

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

从PDF中的特定页面提取图像

我想从PDF文件中提取图像.我尝试使用以下代码,它从PDF中完美地提取了一个jpeg图像.问题是如何从特定页面(例如第1页)或从其他页面中提取图像.我不想阅读整个PDF来搜索图像.

有什么建议?

提取图像的代码:

private void List<System.Drawing.Image> ExtractImages(String PDFSourcePath)
        {
            List<System.Drawing.Image> ImgList = new List<System.Drawing.Image>();

            iTextSharp.text.pdf.RandomAccessFileOrArray RAFObj = null;
            iTextSharp.text.pdf.PdfReader PDFReaderObj = null;
            iTextSharp.text.pdf.PdfObject PDFObj = null;
            iTextSharp.text.pdf.PdfStream PDFStremObj = null;

            try
            {
                RAFObj = new iTextSharp.text.pdf.RandomAccessFileOrArray(PDFSourcePath);
                PDFReaderObj = new iTextSharp.text.pdf.PdfReader(RAFObj, null);

                for (int i = 0; i <= PDFReaderObj.XrefSize - 1; i++)
                {
                    PDFObj = PDFReaderObj.GetPdfObject(i);

                    if ((PDFObj != null) && PDFObj.IsStream())
                    {
                        PDFStremObj = (iTextSharp.text.pdf.PdfStream)PDFObj;
                        iTextSharp.text.pdf.PdfObject subtype = PDFStremObj.Get(iTextSharp.text.pdf.PdfName.SUBTYPE);

                        if ((subtype != null) && subtype.ToString() == iTextSharp.text.pdf.PdfName.IMAGE.ToString())
                        {
                            byte[] …
Run Code Online (Sandbox Code Playgroud)

c# pdf itextsharp

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

如何在不写入文件的情况下将DataVisualization.Charting.Chart的图像获取到iTextSharp.text.Image?

我正在编写一个用于可视化测量数据的软件。为此,我使用System.Windows.Forms.DataVisualization.Charting.Chart,我确实知道可以通过chartObj.SaveImage获取显示的图像以将其存储到文件中。

我的软件应具有PDF导出功能,其中应包含图片。为此,我正在使用iTextSharp。同样,我确实知道如何通过iTextSharp.text.Image.GetInstance将存储在文件中的图片放入PDF。

因此,现在我可以拍摄图表的图片,将其放入文件(例如,.jpg文件)中,然后再次加载该文件以将其放入我的PDF中。现在,我正在寻找一个不错的解决方案,以将图片放入PDF而不将其存储到文件中,例如通过Stream或类似的方式。我已经尝试了很长时间,但是直到现在我都没有成功。我想到了类似的东西

Stream imageStream = image of chartObj;
iTextSharp.text.Image picture = iTextSharp.text.Image.GetInstance(imageStream);
Run Code Online (Sandbox Code Playgroud)

据我了解,我无法将chartObj中的图片放入Stream中而不是文件中。如果有这个功能,我想我可以通过iTextSharp.text.Image.GetInstance加载Stream。

有人可以提供一些帮助吗?猜猜并没有那么困难,但是我对C#和iText还是陌生的,所以我在这里有些卡住了。

预先感谢您对此的所有想法!

安娜

c# charts image itextsharp winforms

4
推荐指数
1
解决办法
5219
查看次数

iTextSharp - 从Datatable添加图像到PDF

我尝试从数据表创建PDF报告.其中一列内容图像.如何从数据表中提取图像并插入PDF表格?我正在使用iTextShap版本5.4.2.0.这是代码:

    public void Report(DataTable dt, string output)
    {            
        Document doc = new Document(PageSize.LETTER, 50, 50, 80, 50);
        PdfWriter PDFWriter = PdfWriter.GetInstance(doc, new FileStream(output, FileMode.Create));
        PDFWriter.ViewerPreferences = PdfWriter.PageModeUseOutlines;

        iTextSharp.text.Font hel8 = FontFactory.GetFont(BaseFont.HELVETICA, 8);

        doc.Open();

        PdfPTable table = new PdfPTable(dt.Columns.Count);                
        float[] widths = new float[] { 1.2f, 1.2f, 1.2f, 1.2f, 1f, 4f, 1f, 4f };

        table.SetWidths(widths);
        table.WidthPercentage = 100;

        PdfPCell cell = new PdfPCell(new Phrase("NewCells"));

        cell.Colspan = dt.Columns.Count;

        foreach (DataColumn c in dt.Columns)
        {
            table.AddCell(new Phrase(c.ColumnName, hel8));
        }

        foreach (DataRow r in …
Run Code Online (Sandbox Code Playgroud)

pdf datatable image itextsharp

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

iTextSharp - 在添加到列之前计算短语/段落高度

我正在创建具有不同数量的项目和注释的PDF工作订单.我ColumnText.SetSimpleColumn(phrase, x, y, x2, y2, height, alignment)用来将文本添加到单个列.

我可以获取ColumnText.YLine值,但只有使用该Go()方法将其应用于ColumnText对象之后.

我想要做的是预先计算最终的YLine值,或者如果YLine超过mjy底部阈值则撤消添加短语,这样我就可以手动添加另一个页面并继续.这可能吗?

c# pdf-generation itextsharp

4
推荐指数
1
解决办法
3839
查看次数

在PDF文档中添加超链接

我目前正在扩展我们的自定义PDF编写器,以便能够编写指向网站的链接.但是,我有一个问题,因为我找不到任何地方如何将链接放入PDF.

这是什么打印文本:

BT
70 50 TD
/F1 12 Tf
(visit my website!) Tj
ET
Run Code Online (Sandbox Code Playgroud)

我现在需要的是将其包装成一个超链接,以便用户在点击"访问我的网站"时被重定向到我的网站!

知道怎么做吗?我不能使用工具 - 我需要知道如何将正确的PDF命令写入文件,因为很多文档是使用C#动态生成的.目前我正在使用iTextSharp - 但我找不到编写超链接的任何功能,所以我决定添加此功能.

pdf hyperlink itextsharp

4
推荐指数
2
解决办法
3530
查看次数

itextsharp 5.4.4 CopyAcroForm不再存在

在itextsharp的5.4.2版中,我能够使用:( VB中的片段)

Dim pdfWriter As iTextSharp.text.pdf.PdfCopy 
pdfwriter = New iTextSharp.text.pdf.PdfCopy(outputPDFDocument, New FileStream(destfname, FileMode.Create))
pdfWriter.CopyAcroForm(reader) 
Run Code Online (Sandbox Code Playgroud)

将表单从一个文档复制到另一个文档.

在5.4.4 CopyAcroForm中不再存在于PdfCopy其他地方或其他任何地方 - 替代方案是什么?

itextsharp

4
推荐指数
1
解决办法
6052
查看次数

如何在合并时删除空格

我有一些代码需要3个不同的PDF字节数组并合并它们.这段代码效果很好.问题(有些人)认为每个PDF都被认为是一个完整的页面(如果打印),即使它上面只有4英寸的内容,因此垂直留下7英寸的空白区域.然后将中间文档放入其中,并且可以在其末尾处具有或不具有垂直空白空间.然后页脚也会放在自己的页面上.

这是代码:

byte[] Bytes = rv.LocalReport.Render("PDF", null, out MimeType, out Encoding, out Extension, out StreamIDs, out Warnings);
List<byte[]> MergeSets = // This is filled prior to this code

// Append any other pages to this primary letter
if (MergeSets.Count > 0) {
  MemoryStream ms = new MemoryStream();
  Document document = new Document();
  PdfCopy copy = new PdfCopy(document, ms);
  document.Open();
  PdfImportedPage page;
  PdfReader reader = new PdfReader(Bytes); // read the generated primary Letter
  int pages = reader.NumberOfPages;

  for (int i = …
Run Code Online (Sandbox Code Playgroud)

c# pdf itextsharp

4
推荐指数
1
解决办法
2041
查看次数

当Check Type Style为Check Mark时,iTextSharp 5.5.6输入一个十字符号

之前曾问过这个问题(iTextSharp 5.5.6.0 Bug?复选框勾选标记更改)但是没有提供答案,我无法发表评论,因为我是新用户.我有完全相同的问题.

我有一个现有的PDF,我正在以编程方式填写(C#).

表格上有复选框.在构建4.4.x中,它们在选中时呈现复选标记.在构建5.5.5.0和5.5.6.0中,它们现在是十字符号.

不要认为设置属性会产生任何影响,因为已经在pdf中设置了这个.如何获得复选标记而不是十字标记.

我正在使用NuGet提供的最新版本.如果无法解决此问题,可能必须返回到早期版本.

c# itextsharp

4
推荐指数
1
解决办法
2750
查看次数

标签 统计

itextsharp ×10

c# ×7

pdf ×4

image ×2

.net ×1

asp.net ×1

charts ×1

datatable ×1

hyperlink ×1

pdf-generation ×1

winforms ×1