相关疑难解决方法(0)

在c#.net中使用iTextSharp合并多个PDF

好吧,我正在尝试将多个PDF合并为一个.

编译时我没有错误.我试图首先合并文档但出错了因为我正在使用表格.

这是asp.net代码隐藏

if (Button.Equals("PreviewWord")) {

        String eventTemplate = Server.MapPath("/ERAS/Badges/Template/EventTemp" + EventName + ".doc");

        String SinglePreview = Server.MapPath("/ERAS/Badges/Template/PreviewSingle" + EventName + ".doc");

        String PDFPreview = Server.MapPath("/ERAS/Badges/Template/PDFPreviewSingle" + EventName + ".pdf");

        String previewPDFs = Server.MapPath("/ERAS/Badges/Template/PreviewPDFs" + EventName + ".pdf");

        if (System.IO.File.Exists((String)eventTemplate))
        {

            if (vulGegevensIn == true)
            {
              //This creates a Worddocument and fills in names etc from database
                CreateWordDocument(vulGegevensIn, eventTemplate, SinglePreview, false);
                //This saves the SinglePreview.doc as a PDF @param place of PDFPreview
                CreatePDF(SinglePreview, PDFPreview);


                //Trying to merge
                String[] previewsSmall=new …
Run Code Online (Sandbox Code Playgroud)

c# pdf merge itextsharp

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

iTextSharp从字节数组列表中创建pdf

我有一个byte []列表,我希望将其连接成一个字节[],这将是最终的PDf.

在"page = copy.GetImportedPage(new PdfReader(p),i);"我得到一个"对象引用未设置为实例错误.

我不知道发生了什么,我已经检查了每个对象,并且没有空.

关于这个的任何想法,或另一段可以成功的代码?!

我有这个方法:

编辑

      public static byte[] concatAndAddContent(List<byte[]> pdf)
    {
        byte [] todos;

        using(MemoryStream ms = new MemoryStream())
        {
            Document doc = new Document();
            doc.Open();

            PdfCopy copy = new PdfCopy(doc, ms);
            PdfCopyFields copy2 = new PdfCopyFields(ms);


            PdfReader reader;
            foreach (byte[] p in pdf)
            {
                reader = new PdfReader(p);
                int pages = reader.NumberOfPages;

                // loop over document pages
                for (int i = 1; i < pages; i++)
                {
                    PdfImportedPage page = copy.GetImportedPage(reader, i);
                    PdfCopy.PageStamp stamp …
Run Code Online (Sandbox Code Playgroud)

c# pdf pdf-generation itext itextsharp

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

ITextSharp合并多个pdf的内存不足异常

我必须将多个1页pdf合并为一个pdf.我正在使用iTextSHarp 5.5.5.0来实现这一目标,但是当我合并超过900-1000 pdf时,我得到一个内存不足异常.我注意到,即使我释放我的阅读器并关闭它,内存永远不会被正确清理(进程使用的内存量永远不会减少)所以我想知道我可能做错了什么.这是我的代码:

 using (MemoryStream msOutput = new MemoryStream())
        {
            Document doc = new Document();
            PdfSmartCopy pCopy = new PdfSmartCopy(doc, msOutput);
            doc.Open();
            foreach (Tuple<string, int> file in filesList)
            {
                PdfReader pdfFile = new PdfReader(file.Item1);
                for (int j = 0; j < file.Item2; j++)
                    for (int i = 1; i < pdfFile.NumberOfPages + 1; i++)//in this case it's always 1. 
                        pCopy.AddPage(pCopy.GetImportedPage(pdfFile, i));
                pCopy.FreeReader(pdfFile);
                pdfFile.Close();
                File.Delete(file.Item1);
            }
            pCopy.Close();
            doc.Close();

            byte[] content = msOutput.ToArray();
            using (FileStream fs = File.Create(Out))
            {
                fs.Write(content, 0, content.Length); …
Run Code Online (Sandbox Code Playgroud)

c# memory pdf memory-leaks itextsharp

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

VB.Net 将多个pdf合并为一个并导出

我必须将多个 PDF 合并为一个 PDF。

我正在使用 iText.sharp 库,并收集转换后的代码并尝试使用它(从此处)实际代码是 C# 语言,我将其转换为 VB.NET。

 Private Function MergeFiles(ByVal sourceFiles As List(Of Byte())) As Byte()
    Dim mergedPdf As Byte() = Nothing
    Using ms As New MemoryStream()
        Using document As New Document()
            Using copy As New PdfCopy(document, ms)
                document.Open()
                For i As Integer = 0 To sourceFiles.Count - 1
                    Dim reader As New PdfReader(sourceFiles(i))
                    ' loop over the pages in that document
                    Dim n As Integer = reader.NumberOfPages
                    Dim page As Integer = 0
                    While …
Run Code Online (Sandbox Code Playgroud)

vb.net pdf itext

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

以PDF格式插入PDF(不合并文件)

我想在另一个缩放的PDF页面中插入PDF页面.我想用iTextSharp来做这件事.

我有一个矢量绘图,可以导出为单页PDF文件.我想将此文件添加到其他PDF文档的页面中,就像我将图像添加到PDF文档一样.

这可能吗?

这样做的目的是保持放大的能力而不会降低质量.

使用PDF矢量重现矢量绘图非常困难,因为它是一个非常复杂的绘图.

将矢量绘图导出为高分辨率图像不是一种选择,因为我必须在单个PDF文档中使用它们.最终的PDF文件非常大,写作速度太慢.

pdf itextsharp

3
推荐指数
1
解决办法
7567
查看次数

iText 2.1.7 PdfCopy.addPage(page) 找不到页面引用?

我正在维护一个使用 iText 2.1.7 创建 PDF 的 Web 应用程序。我想获取现有 PDF 的内容并将其放入代码正在创建的 pdf 文档中。我有以下内容(编辑:更完整的代码):

package itexttest;

import com.lowagie.text.Document;
import com.lowagie.text.PageSize;
import com.lowagie.text.Paragraph;
import com.lowagie.text.pdf.PdfCopy;
import com.lowagie.text.pdf.PdfImportedPage;
import com.lowagie.text.pdf.PdfReader;
import com.lowagie.text.pdf.PdfWriter;
import java.io.ByteArrayOutputStream;
import java.io.OutputStream;

public class ITextTest 
{
    public static void main(String[] args) 
    {
        try
        {
            ByteArrayOutputStream os = new ByteArrayOutputStream();
            Document bigDoc = new Document(PageSize.LETTER, 50, 50, 110, 60);
            PdfWriter writer = PdfWriter.getInstance(bigDoc, os);
            bigDoc.open();

            Paragraph par = new Paragraph("one");
            bigDoc.add(par);
            bigDoc.add(new Paragraph("three"));

            addPdfPage(bigDoc, os, "c:/insertable.pdf");

            bigDoc.close();
        }
        catch (Exception e) …
Run Code Online (Sandbox Code Playgroud)

java pdf itext

3
推荐指数
1
解决办法
4131
查看次数

标签 统计

pdf ×6

itextsharp ×4

c# ×3

itext ×3

java ×1

memory ×1

memory-leaks ×1

merge ×1

pdf-generation ×1

vb.net ×1