zoukankan      html  css  js  c++  java
  • Call PDF to Vector Converter Command Line from C#, ASP, etc. web program languages

    http://forums.techarena.in/software-development/1276342.htm

    1. How to call PDF to Vector Command Line (pdf2vec.exe) from C#, ASP, PHP, etc. web program languages?
    A:

    Sample code #1 (C# example),

    Make use of the PROCESS class available in SYSTEM.DIOGNOSTICS namaspace, use the following piece of code to execute the pdf2vec.exe file,
    ~~~~~~~~~~~~~~~~~
    using System;
    using
     System.Collections.Generic;
    using
     System.Linq;
    using
     System.Text;
    using
     System.Diagnostics
    ;

    namespace ConsoleApplication1
    {

        class
     
    Program
        {
            
    static void Main(string[] args)
            {
                    Process proc = new Process
    ();
                    proc.StartInfo.FileName = @"C:\\pdf2vec.exe"
    ;
                    
    string strArguments = "";
                    strArguments += "-swfburst"
    ;
                    strArguments += " D:\\temp\\sample.pdf D:\\temp\\out.swf"
    ;
                    Console.WriteLine(strArguments
    );
                    proc.StartInfo.Arguments = @strArguments
    ;
                    proc.Start
    ();
                    proc.WaitForExit
    ();
            }
        }
    }
    ~~~~~~~~~~~~~~~~~

    Sample code #2 (C# example),

    Please by following steps to call pdf2vec.exe inside a special user account,

    1. Please download and install EXEShell COM Library (freeware) from following URL first,

    http://www.verydoc.com/exeshell.html
    http://www.verydoc.com/download/exeshell.zip

    2. Please use following C# code to run the conversion inside a special user account,

    ~~~~~~~~~~~~~~~~~
    using System;
    using
     System.Collections.Generic;
    using
     System.Linq;
    using
     System.Text;

    namespace
     ConsoleApplication1
    {
        class
     
    Program
        {
            
    static void Main(string[] args)
            {
                    System.Type otype = System.Type.GetTypeFromProgID("exeshell.shell");
                    Object o = System.Activator.CreateInstance(otype);
                    otype.InvokeMember("RunCommandLine",System.Reflection.BindingFlags.InvokeMethodnullo
                            
    new object[] { "UserName""Password"@"C:\pdf2vec.exe ""C:\test.pdf"" ""C:\out.swf""" });
                    otype = null;
            }
        }
    }
    ~~~~~~~~~~~~~~~~~

    Remark: 
    You may encounter Error 1314 in some Windows systems when you switch between user accounts, this is caused by permission setting, please by following steps to solve this 1314 Error,

    ERROR 1314:
    ~~~~~~~~~~~~~
    1314 A required privilege is not held by the client. ERROR_PRIVILEGE_NOT_HELD 
    ~~~~~~~~~~~~~

    To resolve this issue:
    1. Click Start, click Run, type "secpol.msc", and then press ENTER. 
    2. Double-click "Local Policies". 
    3. Double-click "User Rights Assignment". 
    4. Double-click "Replace a process level token".
    5. Click "Add", and then double-click the "Everyone" group 
    6. Click "OK".
    7. You may have to logout or even reboot to have this change take effect.

    Please refer to following two screenshots to understand above steps, 

    http://www.verydoc.com/images/err1314-1.png
    http://www.verydoc.com/images/err1314-2.png

    Please look at following page for the details about ERROR 1314,

    http://www.verydoc.com/exeshell.html

    Sample code #3 (ASP example),

    Please by following steps to call pdf2vec.exe inside a special user account,

    1. Please download and install EXEShell COM Library (freeware) from following URL first,

    http://www.verydoc.com/exeshell.html
    http://www.verydoc.com/download/exeshell.zip

    2. Please use following ASP code to run the conversion inside a special user account,

    ~~~~~~~~~~~~~~~~~
    <%
        Set comEXEShell = Server.CreateObject("exeshell.shell")
        RootPath = Server.MapPath(".") & "\"
        EXEFile = RootPath & "pdf2vec\pdf2vec.exe"
        PDFFile = RootPath & "test.pdf"
        SWFFile = RootPath & "out.swf"
        strCommandLine = EXEFile & " " & PDFFile & " " & SWFFile
        response.write strCommandLine & "<br>"
        comEXEShell.RunCommandLine "UserName", "Password", strCommandLine
        Set comEXEShell = Nothing
    %>
    ~~~~~~~~~~~~~~~~~

    Remark: 
    You may encounter Error 1314 in some Windows systems when you switch between user accounts, this is caused by permission setting, please refer to the steps in #2 to solve the 1314 Error.

    Sample code #4 (VB.NET example),

    System.Diagnostics.Process.Start("C:\pdf2vec.exe C:\test.pdf C:\out.swf")

    Sample code #5 (C# example),

    Please by following steps to call pdf2vec.exe inside a special user account,

    1. Please download and install EXEShell COM Library (freeware) from following URL first,

    http://www.verydoc.com/exeshell.html
    http://www.verydoc.com/download/exeshell.zip

    2. Please use following C# code to run the conversion inside a special user account,

    ~~~~~~~~~~~~~~~~~
    using System;
    using
     System.Collections.Generic;
    using
     System.Linq;
    using
     System.Text;
    using
     EXESHELLLib;

    namespace ConsoleApplication1
    {

        class
     
    Program
        {
            
    static void Main(string[] args)
            {
                    EXESHELLLib.shell EXEShell = new EXESHELLLib.shellClass
    ();
                    EXEShell.RunCommandLine("
    UserName""Password"@"C:\pdf2vec.exe ""C:\test.pdf"" ""C:\out.swf""");
                    EXEShell = null
    ;
            }
        }
    }
    ~~~~~~~~~~~~~~~~~

    Remark: 
    You may encounter Error 1314 in some Windows systems when you switch between user accounts, this is caused by permission setting, please refer to the steps in #2 to solve the 1314 Error.

    Sample code #6 (PHP example),

    <?php
        $exeshell =new COM("exeshell.shell") or die("Can't start exeshell");
        $exeshell->
    RunCommandLine("UserName""Password"' "C:\pdf2vec.exe" "C:\test.pdf" "C:\out.swf" ');
        $exeshell = null;
    ?>

  • 相关阅读:
    python+selenium之中类/函数/模块的简单介绍和方法调用
    python之类
    Python+Selenium之断言对应的元素是否获取以及基础知识回顾
    Python+Selenium之摘取网页上全部邮箱
    C# 事件
    IConfigurationSectionHandler 接口
    ReaderWriterLockSlim 类
    log4net 按照日期备份日志
    Redis .net 客户端 分布式锁
    SQL Server Compact/SQLite Toolbox
  • 原文地址:https://www.cnblogs.com/mfryf/p/2424353.html
Copyright © 2011-2022 走看看