private static string[] GetArgs(string inputFile, string outputFile)
{
return new[] {
$"gs",
$"-o",
$"{outputFile}",
$"-dNoOutputFonts",
$"-sDEVICE=pdfwrite",
$"{inputFile}",
};
GhostscriptProcessor ghostscript = new GhostscriptProcessor();
string inputFile = "D:\\%1.pdf";
string outputFile = "D:\\%output.pdf";
ghostscript.Process(GetArgs(inputFile, outputFile));
there will be an error "An error occured when call to
'gsapi_init_with_args' сделано: -100 "
но если изменить путь к файлу как стипендиат
string inputFile = "D: \% 1.pdf"; (содержит %)
string outputFile = "D: \ output.pdf"; (не содержит%)
это работает, нет проблем
и если изменить путь к файлу как стипендиаты
string inputFile = "D: \ 你 .pdf";
string outputFile = "D: \ output.pdf";
inputFile = "D: \ 你 .pdf" "你" - китайский символ
это тоже не работает
и у меня есть еще тест, если путь к файлу содержит китайский символ, а не
работы.
Кто-нибудь может дать совет? Большое спасибо.
я делаю некоторые изменения, чтобы преобразовать fileName в UTF8 как стипендиаты
UTF8Encoding utf8 = new UTF8Encoding ();
string inputFile = "D: \ 你 .pdf";
string outputFile = "D: \% 91.pdf";
Byte [] inputFileEncodedBytes = utf8.GetBytes (inputFile);
Byte [] outPutFileEncodedBytes = utf8.GetBytes (outputFile);
string strInput = System.Text.Encoding.UTF8.GetString (inputFileEncodedBytes);
string strOutPut = System.Text.Encoding.UTF8.GetString (outPutFileEncodedBytes);
ghostscript.Process (GetArgs (strInput, strOutPut));
результат тот же