我做在C#中的小应用程序,它的PDF文件转换为PDF/A使用的Adobe Acrobat SDK。将PDF转换为PDF/A从Adobe Acrobat Professional中XI/DC SDK
我用SaveAs
JavaScript函数,包含在SDK中,这样一来:
var pdfDocument = new AcroPDDoc();
pdfDocument.Open(fileInfo.FullName);
object pdfJavascriptObject = pdfDocument.GetJSObject();
Type jsType = pdfJavascriptObject.GetType();
// FinalExtension is either jpg or pdf (depends of convId)
var outputFileName = fileInfo.Name.Replace(fileInfo.Extension, "." + finalExtension);
var finalFullName = Path.Combine(outputFolderPath, outputFileName);
// AdobeConvId is either com.callas.preflight.pdfa either com.adobe.acrobat.jpeg
object[] saveAsParam = { finalFullName, adobeConvId, string.Empty, false, false };
// Use Javascript Object SaveAs Method
jsType.InvokeMember(StringConstants.AcrobatSaveAsMethod
, BindingFlags.InvokeMethod | BindingFlags.Public | BindingFlags.Instance
, null
, pdfJavascriptObject
, saveAsParam
, CultureInfo.InvariantCulture);
pdfDocument.Close();
它好工作与Adobe Acrobat Professional中X,但现在我不得不使用Adobe Acrobat XI专业/ DC。 我已经升级了SDK的DLL,但它不起作用。
有一个“进展”消息,这会闪烁,如果有大量的文档转换和过程永远不会结束。
然而,当我转换为JPG文件(相同的代码只是改变了convId
)此代码工作正常。
你知道我可以从那里做什么?......
如果在“另存为”的方法是NOGO,我听说preflights的,但我不知道如何从C#中使用它们码。
没有人经历过这个问题? – Speuline