Example #1
0
 /**
  *
  *
  * @param  InputInterface                            $input Ony $input can use StringInput
  * @param  string                                    $destination  The place where save the result
  * @param  string                                    $outputFormat
  * @param  InputInterface                            $xsl
  * @param  array                                     $params
  * @return \Symfony\Component\Process\ProcessBuilder
  */
 protected function runProcess(InputInterface $input, $destination, $outputFormat, InputInterface $xsl = null, array $params = array())
 {
     $builder = new ProcessBuilder();
     $builder->add($this->fopExecutable);
     $builder->add("-q");
     $builder->add("-r");
     if ($xsl instanceof InputInterface) {
         $builder->add("-xml");
         $input->buildParams($builder);
         $builder->add("-xsl");
         $xsl->buildParams($builder);
     } else {
         $builder->add("-fo");
         $input->buildParams($builder);
     }
     foreach ($params as $key => $value) {
         $builder->add("-param");
         $builder->add($key);
         $builder->add($value);
     }
     $builder->add("-out");
     $builder->add($outputFormat);
     $builder->add($destination);
     if ($this->configurationFile !== null) {
         $builder->add("-c");
         $builder->add($this->configurationFile);
     }
     $proc = $builder->getProcess();
     $input->setInput($proc);
     if ($xsl instanceof InputInterface) {
         $xsl->setInput($proc);
     }
     return $proc;
 }