首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >iText7方法返回PdfFormXObject

iText7方法返回PdfFormXObject
EN

Stack Overflow用户
提问于 2022-03-31 17:35:05
回答 1查看 142关注 0票数 0

我正在阅读一个将返回PdfFormXObject的方法,但我不理解CopyAsFormXObject。它在PdfPage方法中,但是CopyAsFormXObject接受一个PdfDocument。它可以直接从PdfPage中使用吗?

代码语言:javascript
复制
public static PdfFormXObject ReadAdobeIllustrator()
    {
        string mapPath = @"PathToAIFile.ai";
        byte[] b = null;
        var buffer = File.ReadAllBytes(mapPath);
        MemoryStream stream = new MemoryStream(buffer);
        PdfFormXObject pdfForm = null;
        using (MemoryStream returnMemoryStream = new MemoryStream())
        {
            iText.Kernel.Pdf.PdfReader PdfReader = new iText.Kernel.Pdf.PdfReader(stream);
            PdfDocument pdfDocument = new PdfDocument(PdfReader, new PdfWriter(returnMemoryStream));
            PdfPage origPage = pdfDocument.GetFirstPage();
            pdfForm = origPage.CopyAsFormXObject(pdfDocument);
            pdfDocument.Close();
            b = returnMemoryStream.ToArray();
        }

        return pdfForm;
    }
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-04-07 06:50:40

请查看方法文档:

代码语言:javascript
复制
/// <summary>Copies page as FormXObject to the specified document.</summary>
/// <param name="toDocument">a document to copy to.</param>
/// <returns>
/// copied
/// <see cref="iText.Kernel.Pdf.Xobject.PdfFormXObject"/>
/// object.
/// </returns>
public virtual PdfFormXObject CopyAsFormXObject(PdfDocument toDocument)

此外,该方法也没有其他过载。

因此,在调用此方法时,需要有最终将使用XObject形式的文档。

在您的代码中,您使用源文档作为目标。这显然是错误的,不能起作用。

你可能想试试这样的东西:

代码语言:javascript
复制
public static PdfFormXObject ReadAdobeIllustrator(PdfDocument targetDocument)
{
    using (PdfReader PdfReader = new PdfReader(@"PathToAIFile.ai"))
    using (PdfDocument pdfDocument = new PdfDocument(PdfReader))
    {
        PdfPage origPage = pdfDocument.GetFirstPage();
        return origPage.CopyAsFormXObject(targetDocument);
    }
}

(我现在不确定在使用表单using之前关闭源文档是否可以--就像我在这里对XObject隐式地做的那样;我几乎不需要组装文档。)

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71696933

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档