如何使用GhostScript DLL將PDF轉換爲PDF/A。我知道我必須調用名爲gsapi_init_with_args的gsdll32.dll的導出函數,但是如何傳遞正確的參數?順便說一句,我使用的是C#。如何使用Ghostscript DLL將PDF轉換爲PDF/A
2
A
回答
3
請嘗試從命令行運行此命令以測試它是否正在執行您所需的操作。
gswin32.exe -dPDFA -dBATCH -dNOPAUSE -sDEVICE=pdfwrite -sOutputFile=PDFA.pdf 1.pdf
0
取決於你的檢查工具做報告什麼確切的偏離標準......您可能需要改變你的PDFA_def.ps
以適應你的環境(和您可能需要動態地重新寫入的內容文件爲每個新的PDF/A轉換)。這是一個簡短的文件,很好的評論。
嘗試添加-Ic:/路徑/到/ gsinstalldir/lib目錄和PDFA_def.ps
到命令行嗶嘰直接調用提示:
gswin32c.exe^ -Ic:/path/to/gsinstalldir/lib^ -dPDFA^ -dBATCH^ -dNOPAUSE^ -dUseCIEColor^ -sDEVICE=pdfwrite^ -sOutputFile=output-PDFA.pdf^ PDFA_def.gs^ input.pdf
或
gswin32c.exe^ -Ic:/path/to/gsinstalldir/lib^ -dPDFA^ -dBATCH^ -dNOPAUSE^ -dUseCIEColor^ -sDEVICE=pdfwrite^ -sOutputFile=output-PDFA.pdf^ c:/path/to/customized/PDFA_def.gs^ input.pdf
測試命令行第一,然後按照推薦的方式進行。
1
我已經受夠了工作使用從ghostscriptsharp如下:
[DllImport("gsdll32.dll", EntryPoint = "gsapi_new_instance")]
private static extern int CreateAPIInstance(out IntPtr pinstance, IntPtr caller_handle);
[DllImport("gsdll32.dll", EntryPoint = "gsapi_init_with_args")]
private static extern int InitAPI(IntPtr instance, int argc, string[] argv);
[DllImport("gsdll32.dll", EntryPoint = "gsapi_exit")]
private static extern int ExitAPI(IntPtr instance);
[DllImport("gsdll32.dll", EntryPoint = "gsapi_delete_instance")]
private static extern void DeleteAPIInstance(IntPtr instance);
private static void CallAPI(string[] args)
{
IntPtr gsInstancePtr;
lock (resourceLock)
{
CreateAPIInstance(out gsInstancePtr, IntPtr.Zero);
try
{
int result = InitAPI(gsInstancePtr, args.Length, args);
if (result < 0)
{
throw new ExternalException("Ghostscript conversion error", result);
}
}
finally
{
Cleanup(gsInstancePtr);
}
}
}
private static object resourceLock = new object();
private static void Cleanup(IntPtr gsInstancePtr)
{
ExitAPI(gsInstancePtr);
DeleteAPIInstance(gsInstancePtr);
}
args
會像字符串數組:
- 「-sDEVICE = pdfwrite」
- 「-dPDFA 「
- ...
相關問題
- 1. 使用的Ghostscript將PDF轉換爲TIFF
- 2. 使用GhostScript將PDF轉換爲圖像 - 我如何引用gsdll32.dll?
- 3. Ghostscript的 - 將PDF轉換爲PDF/A
- 4. 如何使用Ghostscript將XPS轉換爲PDF或將XPS轉換爲DOC?
- 5. 如何使用GhostScript將PDF轉換爲JPG
- 6. 如何使用ghostscript將PDF轉換爲PNG?
- 7. 如何使用Ghostscript將PDF轉換爲Word?
- 8. 如何使用GhostScript將WORD文檔與書籤轉換爲PDF?
- 9. 如何使用PHP的GhostScript將PDF文件轉換爲JPEG/PNG
- 10. Ghostscript將PDF轉換爲大型TIFF
- 11. 使用ImageMagick將PDF轉換爲jpg而不使用Ghostscript
- 12. 使用Ghostscript將PDF轉換爲TIFF的Java
- 13. 將PDF轉換爲使用ImageMagick/Ghostscript的JPG時文件太大
- 14. 使用Ghostscript將PDF轉換爲彩色PCL 5
- 15. 使用Ghostscript將PCL轉換爲PostScript
- 16. 將pdf轉換爲png:爲什麼ghostscript會永久佔用?
- 17. 如何在使用Ghostscript將PDF轉換爲EPS輪廓時保留邊距?
- 18. 通過Ghostscript將PDF文件轉換爲PDF/A
- 19. Ghostscript - 將矢量pdf轉換爲柵格pdf
- 20. VB dLL將pdf轉換爲tiff
- 21. 的ghostscript如何留住PDF大小,同時將PDF轉換爲灰度
- 22. 使用ghostscript將PDF轉換爲漸進式JPEG以供網絡使用?
- 23. 如何使用Ghostscript將psd(photoshop文件)或tiff轉換爲PNG?
- 24. 如何使用ghostscript將CMYK eps轉換爲CMYK jpeg?
- 25. 將PDF轉換爲TIFF
- 26. 錯誤將PDF轉換爲PDF/A
- 27. wcf服務使用Ghostscript的pdf轉換爲tiff
- 28. XFA格式轉換爲PDFA-1B
- 29. 使用ezpdf將pdf轉換爲pdf?
- 30. 當轉換爲PCL時,ghostscript將pdf中的文本轉換爲圖形
嗨,我現在使用gsdll32.dll,所以沒有gswin32.exe可用。我必須調用gsapi_init_with_args。從GhostScript網站,我得到了這樣的: gs -dPDFA -dBATCH -dNOPAUSE -dNOOUTERSAVE -dUseCIEColor -sDEVICE = pdfwrite -sOutputFile = out-x3.pdf PDFA_def.ps input.pdf 但是當我使用參數與gsapi_init_with_args結果PDF不正確,它報告它不符合任何標準。所以這很棘手。任何人都可以幫忙 – imgen 2009-11-13 04:57:16
其實它並不棘手,我給你一個命令行gswin32.exe爲了確保-dPDFA和其餘的交換機正常工作,你應該有你的安裝gswin32.exe,因爲我看到你'使用ghostscript獲勝。只需運行我給你的線路來檢查它是否有效。在你確定命令有效之後,你可以將它翻譯成gsapi_init_with_args調用 問候 – 2009-11-13 14:23:15