장황한 비트이지만 어디서나 답변을 찾을 수있는 행운이 없었습니다.eDOCS DM API - 파일 확장자 설정
eDOCS DM API를 사용하여 eDOCS에 파일을 일괄 업로드하는 맞춤 도구를 작성하고 있습니다. 이 도구는 의도대로 작동하며 파일 및 메타 데이터 속성의 작업 목록을 만들고 필요한 eDOCS 프로필을 만들어 파일을 저장합니다. -이 양식의 필드를 설정하는 키/값 쌍과 DM의 API 객체를 생성하여 수행됩니다 문서 프로필 양식 을 만들
1 단계 : eDOCS에 파일을 저장
는기본적으로 두 단계로 진행됩니다 . 이 필드 중 하나는 문서를 기본 확장명을 가진 특정 응용 프로그램 (예 : MS Word, Excel 등)에 연결합니다. 프로필이 생성되면 eDOCS 파일 저장소에 임의의 파일 이름과 연결된 응용 프로그램의 기본 확장명을 가진 빈 파일이 생성됩니다.
2 단계 - 문서를 저장소에 저장 이것은 간단합니다. 원본 파일을 바이트 배열로 읽고 eDOCS DM API 개체를 사용하여 (1 단계에서 생성 한) 파일에 스트림을 씁니다. eDOCS 파일 저장소.
내가 어려움을 겪고있는 것은 양식을 만들 때 eDOCS 파일 저장소에서 생성 된 파일의 확장자를 변경하는 것입니다. 나는 몇 년 전에 Spiceworks (https://community.spiceworks.com/topic/196865-open-text-edocs-hummingbird-support-group?page=2#entry-5226944)에서이 질문을하는 다른 누군가를 찾았지만, 공식 문서 나 온라인에서 어떤 대답을 찾을 수 없었습니다.
rtf 파일은이 도구를 사용하여 eDOCS에 저장되고 Microsoft Word와 연결됩니다. Microsoft Word의 기본 확장자는 docx로 설정되므로 파일은 확장명이 docx로 저장되므로 사용자가 Word를 검색 할 때 실패합니다. 파일을 해석하고 오류 메시지를 던집니다.
표준 eDOCS DM 확장 프로그램을 사용하여 파일을 개별적으로 저장하는 경우 기본 파일 확장자를 덮어 쓸 수있는 '다른 이름으로 저장'필드가 있습니다.
내가 지금이 문제를 해결하기 위해 생각할 수있는 유일한 방법은 우리가 만나는 모든 파일 확장자에 대해 eDOCS 데이터베이스 응용 프로그램 테이블에 항목을 만드는 것입니다. 그러나이 문제를 해결할 방법이 필요합니다. 제공된 API
모든 조언을 주시면 감사하겠습니다.
추가 정보 : 아래입니다
APPS_LINK LANGUAGE EXTENSION FILE_FORMAT DESCRIPTION NEW_DOC_ONLY ORDER_NO DISABLED
1435 EN docx NULL Word Document (*.docx) N 1 N
1435 EN DOT NULL Word 97-2003 Template (*.dot) N 13 N
1435 EN doc NULL Word 97-2003 Document (*.doc) N 2 N
1435 EN rtf 6 Rich Text Format (*.rtf) N 8 N
과 : 그래서 우리는 내가 아래 마이크로 소프트 워드와 관련된 행의 일부를 포함 한 예로서 APP_FILE_EXTNS 테이블의 각 응용 프로그램에 대해 정의 된 여러 확장 기능을 가지고
$doc = New-Object -ComObject PCDClient.PCDDocObject.1
$doc.SetDST($global:dmDST)
$doc.SetObjectType($global:dmForm)
$doc.SetProperty("PD_FILEPT_NO", $edocsFilePart)
$doc.SetProperty("DOCNAME", $docname)
$doc.SetProperty("APP_ID", $appid)
$doc.SetProperty("AUTHOR_ID", $author
$doc.SetProperty("TYPIST_ID", $typist
$doc.SetProperty("TYPE_ID", "DEFAULT")
$doc.SetProperty("%TARGET_LIBRARY", $global:dmLibrary)
$doc.Create()
# use PCDClient.PCDPutDoc and PCDClient.PCDPutStream to save the file to the edocs file repo
# unlock the document
그래서 위의 예에서 $의 APPID는 APPS 테이블의 응용 프로그램 열 (예 : MS WORD, FOLDER, PDF 등)과 관련된 것입니다 : 예 API 호출 (사용 PowerShell은) 프로파일을 만들 수 있습니다. $ doc.Create()가 호출되면 다음과 같은 상황이 발생합니다
- 문서 프로필이 edocs에
- 빈 파일을 생성 $의 문서를 통해 설정 응용 프로그램의 기본 확장자로 설정 확장으로 작성됩니다 REPO 파일.하는 SetProperty ("APP_ID", $의 APPID)
- 구성 요소 테이블에 파일 확장자를 설정 취하도록 DM API를 사용하는 방법이 있는지
당신은 알고 계십니까 문서 프로필에 빈 파일을 링크 업데이트됩니다 문서와 관련된 응용 프로그램의 비 기본 확장 중 하나?
나는이 실패 모두 몇 가지 다른 키 PCDClient.PCDDocObject.SetProperty()를 시도했다 :
- EXTENSION
- 퍼센트 EXTENSION
- EXT
- 퍼센트의 EXT
- 경로
- % 경로
- FILE_EXTENSION
- % FILE_EXTENSION
답장을 보내 주셔서 감사합니다. 원본 게시물을 추가 세부 정보로 업데이트했습니다. 우리는 APP_FILE_EXTNS 테이블에 정의 된 많은 확장 기능을 가지고 있지만, DM API를 통해 확장 기능을 활용하는 방법을 배우는 데 별 어려움이 없습니다. 당신이 앞에서 제안 할 수있는 조언은 크게 감사 할 것입니다. – AliJH