Creating PDF/A with GhostscriptProcessor



  • I want to convert a PDF file into PDF/A with GhostscriptProcessor, but the result is a PDF not PDF/A.

    GhostscriptProcessor gsproc = new GhostscriptProcessor(Properties.Resources.gsdll32);
    gsproc.StartProcessing(CreatePDFA(@"C:\test\PDF.pdf", @"C:\test\PDFA.pdf"), new GsStdio());
    
    

    And the method:

    CreateTestArgs(string inputPath, string outputPath)
    {
        List<string> gsArgs = new List<string>();
        gsArgs.Add("-dPDFA");
        gsArgs.Add("-dBATCH");
        gsArgs.Add("-dNOPAUSEgsArgs");
        gsArgs.Add("-sDEVICE=pdfwrite");
        gsArgs.Add(@"-sOutputFile=" + outputPath);
        gsArgs.Add(@"-f" + inputPath);
        return gsArgs.ToArray();
    }
    
    

    If I use gswin32.exe from the commandline the result is a PDF/A file.

    First switch is ignored. You need to add dummy switch at position 0 so the code will look like:

    string[] CreateTestArgs(string inputPath, string outputPath)
    {
        List<string> gsArgs = new List<string>();
        gsArgs.Add("-notused");
        gsArgs.Add("-dPDFA");
        gsArgs.Add("-dBATCH");
        gsArgs.Add("-dNOPAUSEgsArgs");
        gsArgs.Add("-sDEVICE=pdfwrite");
        gsArgs.Add(@"-sOutputFile=" + outputPath);
        gsArgs.Add(@"-f" + inputPath);
        return gsArgs.ToArray();
    }
    
    

    来自:https://stackoverflow.com/questions/25202577/creating-pdf-a-with-ghostscriptprocessor



最新帖子