首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从多个页面获取页面

从多个页面获取页面
EN

Stack Overflow用户
提问于 2012-08-21 13:01:44
回答 1查看 5.3K关注 0票数 1

NET库中的多页检索计数。我使用http://bitmiracle.com/libtiff/help/retrieve-number-of-pages-in-tiff-image.aspx的样本。

代码语言:javascript
复制
    public int GetNumberOfPages(Tiff image)
    {
        int pageCount = 0;
        do
        {
            ++pageCount;
        } while (image.ReadDirectory());

        return pageCount;
    }

    [TestMethod]
    public void GetNumberOfPages()
    {
        using (Tiff tiffFromFile = Tiff.Open(@"test.tif", "r"))
        {
            int numberOfPages = GetNumberOfPages(tiffFromFile);
        }

    }

我得到了例外:不能写入封闭的TextWriter.

StackTrace:

代码语言:javascript
复制
at System.IO.__Error.WriterClosed()
   at System.IO.StringWriter.Write(String value)
   at Microsoft.VisualStudio.TestTools.TestTypes.Unit.ThreadSafeStringWriter.Write(String value)
   at System.IO.TextWriter.Write(String format, Object arg0)
   at System.IO.TextWriter.SyncTextWriter.Write(String format, Object arg0)
   at BitMiracle.LibTiff.Classic.TiffErrorHandler.WarningHandler(Tiff tif, String method, String format, Object[] args)
   at BitMiracle.LibTiff.Classic.Tiff.WarningExt(Tiff tif, Object clientData, String method, String format, Object[] args)
   at BitMiracle.LibTiff.Classic.Tiff.ReadDirectory()

代码与示例完全相同。我找不到这个问题的根源。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-08-21 13:14:46

我猜想这个问题可能与您传递的tiff文件中的不受支持的图像类型或错误有关。如果希望响应错误,LibTiff文档将讨论添加自定义处理程序的问题。我以前没有使用过那个图书馆,所以我不能肯定发生了什么。我猜想可能在Open中有一个错误,但是没有一个处理程序,它就吃了这个错误。然后,当您尝试ReadDirectory时,文件已经关闭。这只是猜测而已。我建议您添加一个错误处理程序并查看发生了什么。

http://bitmiracle.com/libtiff/help/tiff.seterrorhandler.aspx

编辑:

我回头看了看样本页。实际上,他们给出了两种阅读页数的方法。你试过用更简单的方法来判断是否同样的方法失败吗?To calculate number of pages in a TIFF image the Tiff.NumberOfDirectories() method or a simple loop that traverses directories can be used. This sample shows both methods.

您应该能够将您的方法转换为:

代码语言:javascript
复制
public short GetNumberOfPages(Tiff image)
{
    return image.NumberOfDirectories()
}

如果您仍然有问题,请尝试不同的图像,您知道它是有效的,并且有多个页面,这样您就可以排除图像问题。

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

https://stackoverflow.com/questions/12055436

复制
相关文章

相似问题

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