문제

Acrobat Pro에 작성된 PDF 양식이 있습니다. 이제 필드 값을 변경하고 PDF를 저장하고 닫아야하는 버튼을 추가했습니다.

나는 다음과 같이 이것을하기로 결정했다 :

var fieldX = this.getField("xxxxField");
fieldX.value = 1;
app.execMenuItem("Save");
this.closeDoc(true);

그러나 이것은 PDF를 저장하지 않습니다.

확인 대화 상자를 원하지 않습니다. 나는 봤다 saveAs API에서 기능하지만 실제 경로를 포함하는 방법. 현재 편집 문서의 파일 이름? 아니면 다른 접근법이 있습니까?

감사합니다.

도움이 되었습니까?

해결책

그러나 이것은 PDF를 저장하지 않습니다.

예방하는 보안 제한이 있기 때문입니다 app.execMenuItem("Save"); 일에서. JS를 통해 저장을 호출 할 수 없습니다.

API에서 기능하지만 실제 경로를 포함하는 방법. 현재 편집 문서의 파일 이름? 아니면 다른 접근법이 있습니까?

당신이 사용할 수있는 Doc.path 파일 이름을 포함한 현재 문서의 경로를 얻으려면 Doc.documentFilename 파일 이름 만 제공).

하지만, saveAs 또한 보안 제한이 적용되며 "권한이있는"컨텍스트 (배치 또는 콘솔)에서만 호출 될 수 있습니다. 그래서 이것은 작동하지 않습니다.

요컨대, 보안 제한은 사용자에게 묻지 않고 문서를 저장하지 못하게합니다. 당신이 그것에 대해 생각한다면, 그것은 논리적입니다.

보다: Acrobat JS API 참조

다른 팁

아래 링크 또는 코드 아래에 사용 된 PDF 데이터를 저장하기위한 클라이언트 사이드 코드. 클라이언트 측 신뢰할 수있는 기능입니다. C:\Program Files\Adobe\...\JavaScript\Config.js.

Acrobat JavaScript로 PDF를 저장하는 방법

1) 폴더 레벨에서 데이터를 저장하는 코드.

var mySaveAs = app.trustedFunction ( function(oDoc,cPath,cFlName)
{

app.beginPriv();
    var flag=false; 

    cPath = cPath.replace(/([^\/])$/, "$1/");

    if(cPath.indexOf("http://") !== -1 || cPath.indexOf("https://") !== -1)
    {
        cPath = cPath.replace('http://', "\\\\");
        cPath = cPath.replace('https://', "\\\\");

        while(cPath.indexOf("/") !== -1)
        {
            cPath = cPath.replace('/', "\\\\");          
        }
    }

    if(cPath.indexOf(":") !== -1)
    {       
        cPath = cPath.replace(":","@"); 
    }


    try{

        oDoc.saveAs(cPath + cFlName);        

        flag = true;

    }catch(e){
        app.alert("Error During Save");
    }
    app.endPriv();

    return flag;
});

2) SharePoint에서 데이터를 저장하기위한 코드.

var mySaveAs = app.trustedFunction ( function(oDoc,cPath,cFlName)
{

    app.beginPriv();
    var flag=false;
    try{                         
        app.execMenuItem("Save");        
        flag = true;         
    }catch(e){
        app.alert("Error During Save");
    }
    app.endPriv();  
    return flag;
});
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top