static void Main(string[] args) { try { IServiceContext serviceContext = GetServiceContext(_repository, _userName, _password, _domain); objectService = serviceFactory.GetRemoteService<IObjectService>( serviceContext, serviceModuleDFS, contextRoot); transformationService = serviceFactory.GetRemoteService<ITransformationService>( serviceContext, serviceModuleCTS, contextRoot);
profileService = serviceFactory.GetRemoteService<IProfileService>( serviceContext, serviceModuleCTS, contextRoot);
string TransformedId = TransformationToPDF(documentumId); Console.WriteLine("Proceso terminado...."); byte[] data = driver.GetFileToDocumentum(TransformedId); using (Stream s = File.Create(@c:\download.pdf)) { s.Write(data, 0, data.Length); } Console.WriteLine("Proceso terminado....");
Console.Read("Proceso terminado...."); } catch (Exception ex){ Console.WriteLine(ex.InnerException + "\n" + ex.StackTrace + "\n" + ex.Message ); } } public string TransformationToPDF(string documentumId) { ObjectIdentity jobId = null; try { JobTicket jobTicket = new JobTicket();
jobTicket.sourceObjectId = documentumId; jobTicket.sourceFormat = "msw8"; jobTicket.targetFormat = "pdf"; jobTicket.Profile = profileService.GetProfileByName(_repository, "optimizePDF_adts"); jobTicket.Profile.Parameters[0].name = "doc_token_PrintType";//"doc_token_f_textCenter"; jobTicket.Profile.Parameters[0].value = "No"; jobTicket.Profile.Parameters[1].name = "doc_token_NoteIcons"; jobTicket.Profile.Parameters[1].value = "No"; jobTicket.ParamProperties = jobTicket.Profile.Parameters; jobTicket.renditionName = "Nombre del Rendition"; jobTicket.renditionDescription = "Aqui va la descripcion del rendition"; jobTicket.isStoreResultInRepo = false; jobTicket.notifyUser = true; jobTicket.priority = 1; jobId = transformationService.AddJob(jobTicket); } catch (Exception ex) { throw ex;} return ((ObjectId)jobId.Value).Id } public byte[] GetFileToDocumentum(string documentumId) { DataPackage dataPackage = null; DataObject dataObject = null; Content contentObj = null; try { dataPackage = GetDataPackage(documentumId); dataObject = dataPackage.DataObjects[0]; contentObj = dataObject.Contents[0]; } catch (Exception ex) { throw ex; } return contentObj.GetAsByteArray(); }
private DataPackage GetDataPackage(string documentumId) { ObjectIdentity objectIdentity = new ObjectIdentity(new ObjectId(documentumId), _repository); ObjectIdentitySet objectIdentitySet = new ObjectIdentitySet(); objectIdentitySet.AddIdentity(objectIdentity); DataPackage dataPackage = null; try { PropertyProfile propertyProfile = new PropertyProfile(PropertyFilterMode.ALL); ContentProfile contentProfile = new ContentProfile(); OperationOptions operationOptions = new OperationOptions(); ContentTransferProfile contentTransferProfile = new ContentTransferProfile(); PermissionProfile permissionProfile = new PermissionProfile(); permissionProfile.PermissionTypeFilter = PermissionTypeFilter.ANY; operationOptions.PermissionProfile = permissionProfile; contentTransferProfile.TransferMode = ContentTransferMode.MTOM; contentProfile.FormatFilter = FormatFilter.ANY; operationOptions.ContentTransferProfile = contentTransferProfile; operationOptions.PropertyProfile = propertyProfile; operationOptions.ContentProfile = contentProfile; operationOptions.SetProfile(contentProfile); dataPackage = objectService.Get(objectIdentitySet, operationOptions); } catch (Exception ex){ throw ex;} return dataPackage; } |