小编Fre*_*iek的帖子

以编程方式将Word(docx)转换为PDF

好吧,在你想到"不是这样的另一个问题"之前,请先阅读此内容.

我有一个应用程序(ASP.NET MVC 3中的Web应用程序)使用DocX库在DocX中生成Word文件.

应用程序采用模板并使用数据库中的所有数据填充它.现在我想创建一个创建的docx文件的PDF版本.

我知道箴言是一种选择,但不适合我,因为我的预算很少.其他我需要花钱的库也是不可能的.

我没有sharepoint服务器,因此Word Automation Services也不是一个选项.

所以我有两个选项(我知道),他们都使用了iTextSharp.不知道哪个更好.

  1. 我可以使用docx文件中生成的XML并将其转换为iTextSharp可用的版本.
  2. 我可以创建PDF,就像我用模板创建docx一样.

任何人都知道它有多少工作,哪两个有更好的性能,如果有可能的话.

我知道第二个选项的缺点是,当我更改模板时,我必须为两个版本更改它.

如果您有更好的解决方案(免费),欢迎您分享.

c# asp.net-mvc pdf-generation docx

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

基于查询字符串的Apache权限

我有一个需要身份验证的apache服务器,但是有些调用需要被允许.

关闭这些调用基于查询字符串,例如:

/foo/api.php?Token=123&Task=DoStuff&Result=json

我教过一个使用LocationMatch,这可以工作,所以我计算出这个配置:

<LocationMatch ^/foo/api.php\?.*(Task=DoStuff).*>
    Order Allow,Deny
    Allow from All
</LocationMatch>
Run Code Online (Sandbox Code Playgroud)

但这不允许我通过身份验证(意思是我得到401).如果我只是过滤^/foo/api.php我通过身份验证,但这不够严格.

任何人都知道如何配置它以检查查询字符串中的任务参数?

对于身份验证,我们使用kerberos,这是强制在整个网站这是我们的路边遏制

LoadModule auth_kerb_module modules/mod_auth_kerb.so

<Directory /var/www/html>
  Options FollowSymLinks
  AllowOverride All
  AuthType Kerberos
  Require valid-user
  AuthName "Kerberos Login"
  KrbMethodNegotiate on
  KrbMethodK5Passwd on
  KrbAuthRealms FOO.LOCAL
  KrbServiceName HTTP/server.foo.local@foo.LOCAL
  Krb5KeyTab /etc/httpd/conf/http.keytab
  Satisfy Any
  Order deny,allow
  Deny from all
  Allow from 192.168.72.90
  Allow from 192.168.72.91
  Allow from 192.168.72.94
  Allow from 192.168.72.95
  Allow from 127.0.0.1
</Directory>
Run Code Online (Sandbox Code Playgroud)

apache configuration kerberos

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

客户端验证不适用于asp.net mvc 3中的隐藏字段

我有一个隐藏的字段,验证如下

@Html.HiddenFor(m => m.Rating)
@Html.ValidationMessageFor(m => m.Rating)
Run Code Online (Sandbox Code Playgroud)

Rating属性具有Range应用的验证程序属性,范围为1-5.这是一个带有提交按钮的表单.

然后我得到了以下jquery在一些用户事件中设置隐藏字段中的值(基本上用户点击一些星级来评价)

$(".star").click(function(){
    $("#Rating").val(2);
});
Run Code Online (Sandbox Code Playgroud)

现在,如果我在没有设置隐藏字段的用户事件的情况下提交表单,则验证有效.错误消息正确显示,它适用于所有客户端.

现在,在这种情况下,如果我点击星号,调用上面的javascript设置隐藏字段,验证错误消息就不会消失.我可以在隐藏变量具有一些有效值后提交表单.但我期待客户端验证应该有效.(当隐藏变量设置为某个有效值时,验证错误应该消失)

最初我认为,jquery验证将在一些特殊事件上调用,所以我尝试自己提高点击,更改,键盘,模糊和焦点事件,如下所示

$(".star").click(function(){
    $("#Rating").val(2);
    $("#Rating").change();
});
Run Code Online (Sandbox Code Playgroud)

但这仍然无效.错误消息一旦出现,就不会消失.

jquery-validate asp.net-mvc-validation asp.net-mvc-3

9
推荐指数
4
解决办法
8995
查看次数

带有tab-id的RedirectToAction()

我在ASP.NET MVC中有一个Web应用程序,在那里我有一个带有表单的jqueryUI选项卡.当我提交时我想返回打开选项卡.

随着我RedirectToAction()我创建了网址

www.foo.com/CV/edit/9
Run Code Online (Sandbox Code Playgroud)

但我希望能够产生

www.foo.com/CV/edit/9#tab-2
Run Code Online (Sandbox Code Playgroud)

我尝试使用RedirectToAction("edit /"+ id +"#tab-2"),但这会产生:

www.foo.com/CV/edit/9%23tab-2
Run Code Online (Sandbox Code Playgroud)

any1知道答案吗?

asp.net-mvc url-routing

7
推荐指数
1
解决办法
5693
查看次数

C#Linq,在两个列表中搜索相同的项目

我们有以下设置:我们有一个带有字符串的对象数组(xml-ish但未规范化),我们有一个带id的字符串列表/数组.

我们需要找出其中一个对象中是否还存在来自该列表的带有id的字符串.

这里我们有一个尝试过的设置:

public class Wrapper
{
    public string MyProperty { get; set; }
}

class Program
{
    static void Main(string[] args)
    {
        List<Wrapper> wrappers = new List<Wrapper>() 
        {
            new Wrapper{ MyProperty = "<flkds,dlsklkdlsqkdkqslkdlqk><id>3</id><sqjldkjlfdskjlkfjsdklfj>"}, 
            new Wrapper{ MyProperty = "<flkds,dlsklkdlsqkdkqslkdlqk><id>2</id><sqjldkjlfdskjlkfjsdklfj>"}
        };
        string[] ids = { "<id>0</id>", "<id>1</id>", "<id>2</id>" };

        var props = wrappers.Select(w => w.MyProperty);
        var intersect = props.Intersect(ids, new MyEquilityTester());
        Debugger.Break();
    }
}

class MyEquilityTester: IEqualityComparer<string>
{
    public bool Equals(string x, string y)
    {
        return x.Contains(y);
    }

     public int GetHashCode(string …
Run Code Online (Sandbox Code Playgroud)

c# linq

5
推荐指数
1
解决办法
6666
查看次数