问题列表 - 第18623页

糟糕的性能使用ITextSharp将tif转换为pdf

简介:如何减少使用tifs转换为pdf所需的时间itextsharp

背景:我正在使用C#将一些相当大的tif转换为pdf itextsharp,并且我的性能非常糟糕.tif文件大约是50kb,有些文件最多有150个单独的tif文件(每个文件代表一个页面).对于一个132页的文档(~6500 kb),转换大约需要13分钟.在转换过程中,它运行的单CPU服务器运行在100%,这让我相信该进程是CPU绑定的.输出pdf文件为3.5 MB.我的尺寸很好,但对我来说时间似乎有点高.

码:

private void CombineAndConvertTif(IList<FileInfo> inputFiles, FileInfo outputFile)
{
    using (FileStream fs = new FileStream(outputFile.FullName, FileMode.Create, FileAccess.ReadWrite, FileShare.None))
    {
        Document document = new Document(PageSize.A4, 50, 50, 50, 50);
        PdfWriter writer = PdfWriter.GetInstance(document, fs);
        document.Open();
        PdfContentByte cb = writer.DirectContent;

        foreach (FileInfo inputFile in inputFiles)
        {
            using (Bitmap bm = new Bitmap(inputFile.FullName))
            {
                int total = bm.GetFrameCount(FrameDimension.Page);

                for (int k = 0; k < total; ++k)
                {
                    bm.SelectActiveFrame(FrameDimension.Page, k);
                    //Testing shows that this …
Run Code Online (Sandbox Code Playgroud)

c# performance itextsharp

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

DTO = ViewModel?

我正在使用NHibernate来保存我的域对象.为了简单起见,我将ASP.NET MVC项目用作表示层和服务层.

我想从我的控制器类返回XML中的域对象.在Stack Overflow上阅读了一些帖子后,我收集DTO是可行的方法.但是,我也遇到过有关ViewModel的帖子.

我的问题:数据传输对象和ViewModels是一样的吗?或者ViewModel是DTO的一种子模式?

asp.net-mvc domain-driven-design dto viewmodel

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

是否有可能导致在另一个应用程序域中创建一个线程?

假设我有一个非默认的应用域名.我想获得对默认应用程序域的引用,并导致在其中创建一个运行一段代码的线程.这可能吗?我能想到这样做的唯一方法是将我的程序集重新加载到Default app域中,并在一个类型的构造函数中有一些逻辑,这些构造函数表明它已经被重新加载以启动这个新线程.这似乎相当复杂.有更直接的方法吗?另一方面,如果有一种方法可以做到这一点,那似乎会绕过.NET的整个安全模型.

.net c# appdomain

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

CLI/C++将"this"指针转换为整数

我试图在CLI/C++ prog中跟踪托管对象的创建/处置:

::System::Diagnostics::Trace::WriteLine(String::Format(
    "Created {0} #{1:X8}", 
    this->GetType()->Name,
    ((UInt64)this).ToString()));
Run Code Online (Sandbox Code Playgroud)

哪个失败了

error C2440: 'type cast' : cannot convert from 'MyType ^const ' to 'unsigned __int64'

有没有办法以这种方式跟踪唯一对象ID?谢谢!

c++-cli

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

为什么这个LINQ join语句不起作用?

我有这个LINQ查询:

    // types...
    LinkedList<WeightedItem> itemScores = new LinkedList<WeightedItem>();

    var result = from i in _ctx.Items
                 join s in itemScores on i.Id equals s._id
                 orderby s._score descending
                 select new ItemSearchResult(i, s._score);

    // this fails:
    return result.ToList();
Run Code Online (Sandbox Code Playgroud)

哪个生成此错误:

无法创建类型为'System.Collections.Generic.IEnumerable`1'的常量值.
在此上下文中仅支持原始类型(例如Int32,String和Guid').

[编辑]以下代码WeightedItem:

public class WeightedItem
{
    public int _id;
    public decimal? _score;

    public WeightedItem(int id, decimal? score)
    {
        _id = id;
        _score = score;
    }
}
Run Code Online (Sandbox Code Playgroud)

你能看出我做错了什么吗?代码编译完美,_ctx.Items和itemScores都包含正确的值.

c# linq linq-to-entities entity-framework join

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

有没有办法覆盖特定条目的bibtex样式文件?

我首选的bibtex风格文件引用作者的姓名缩写.但是,有各种文本应该以不同的方式引用(例如,Elements Geometrie Algebrique应该始终被引用为[EGA]).我知道如何在bibtex输出的.bbl文件中修改它,但是我必须为每个文件执行此操作.有没有办法从我的.bib文件中执行此操作?

latex bibtex

11
推荐指数
2
解决办法
6108
查看次数

Visual Studio ASP.NET MVC项目:设置起始URL

考虑使用VS 2010的ASP.NET MVC 2项目.目标是使用VS的内置Cassini Web服务器在运行/调试时设置"起始URL".

输入URL作为我想要加载的URL,以典型的有效格式controller/action,VS 2010给出了这个例外.

替代文字

尝试的补救措施:

  • 使用和不使用斜杠启动URL
  • 使用和不使用斜杠结束URL

问题:如何指定MVC 2项目的起始URL?

技术:

  • Visual Studio 2010
  • ASP.NET MVC 2

解决方案:我在启动选项中使用了错误的字段.需要的是具有相对URL 的" 特定页面 "字段,而不是"起始URL".

asp.net-mvc cassini visual-studio-2010 visual-studio

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

使用web.config覆盖machine.config

我最近决定将连接字符串移动到machine.config,因为这似乎是管理多个环境的最优雅方法.但是,如果需要(或者非开明群众开始抱怨),我仍然希望能够在我的本地web.config中覆盖这些设置.

如何在我的web.config中覆盖machine.config中的设置而不获取a,ConfigurationErrorsException因为该值已经设置?

.net configuration web-config machine.config

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

有没有办法在ANT构建文件中指定引导程序目标?

在我的Ant构建文件中,我正在使用加密属性,我正在读取文本文件.我需要在构建过程中的某种引导目标中解密它.我该怎么做呢?

例如,以下是文件的内容.

myFile.txt:

ENCRYPTED=encryptedtext
Run Code Online (Sandbox Code Playgroud)

build.xml:

<project name="myProject" default="all">
<property file="myFile.txt">

<!--Specify bootstrap target here to perform the decryption task-->

<target name="myTarget">
<!--Use the decrypted property here-->
Run Code Online (Sandbox Code Playgroud)

我得到一种方法是设置目标来执行解密,并将其添加为depends所有必要目标.我不想那样做.我对使过程尽可能干净的替代品感兴趣.这也意味着我已经考虑过" 你为什么不在其他地方执行解密并从那里读取它? "的解决方案,我对它们不感兴趣.

谢谢.

xml ant bootstrapping build

0
推荐指数
1
解决办法
690
查看次数

ASP.NET动态地将代码插入到头部

我正在使用Web用户控件(.ascx),它将包含在常规Web表单(.aspx)中,但我需要能够从用户控件中动态地将代码插入到文档的头部.在我的Coldfusion日子里,<cfhtmlhead>可以解决问题.在ASP.NET或类似的黑客中是否存在相同的内容?

c# asp.net

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