Recuperar documentos integrados de las notas de una tarea

Descripción general

En los archivos del proyecto de Microsoft (MPP), las notas de tareas pueden contener documentos integrados, como .txt, .doc o .rtf archivos. Estos objetos integrados generalmente se almacenan en formato rtf dentro de la propiedad ’notasrtf` de la tarea.

Mientras que Aspose.Tasks para .NET solo es no admite completamente el análisis o la extracción de estos documentos integrados, se puede combinar con Aspose.Words para .NET para interpretar el contenido RTF y recuperar los archivos incrustados.

Este artículo demuestra cómo leer los datos notasrtf de una tarea y extraer documentos integrados usando Aspose.Words.

Requisitos

Antes de continuar, asegúrese de:

Puede instalar ambas bibliotecas a través de Nuget:

1Install-Package Aspose.Tasks
2Install-Package Aspose.Words

Recuperar documentos integrados de las notas de la tarea

El siguiente fragmento de código:

  1. Carga el archivo MPP usando Aspose.Tasks;
  2. Lee el contenido notasrtf de cada tarea;
  3. Analiza RTF usando Aspose.words;
  4. Guarda cada objeto incrustado (si se encuentra) en el disco.

✅ Ejemplo de código

 1Project project = new Project("New Project.mpp");
 2Task task = project.RootTask.Children.GetById(1);
 3
 4File.WriteAllText("Notes_out.rtf", task.Get(Tsk.NotesRTF));
 5
 6Document doc = null;
 7using (MemoryStream stream = new MemoryStream())
 8using (StreamWriter streamWriter = new StreamWriter(stream))
 9{
10    streamWriter.Write(task.Get(Tsk.NotesRTF));
11    doc = new Document(stream);
12}
13
14NodeCollection shapes = doc.GetChildNodes(NodeType.Shape, true);
15foreach (Aspose.Words.Drawing.Shape shape in shapes)
16{
17    if (shape.OleFormat != null)
18    {
19        if (!shape.OleFormat.IsLink)
20        {
21            // Extract OLE Word object
22            if (shape.OleFormat.ProgId == "Word.Document.12")
23            {
24                MemoryStream stream = new MemoryStream();
25                shape.OleFormat.Save(stream);
26
27                Document newDoc = new Document(stream);
28                newDoc.Save("RetrieveTaskEmbeddedDocuments_out.doc");
29            }
30        }
31    }
32}

Notas

Resumen

Al combinar Aspose.Tasks y Aspose.Words, los desarrolladores pueden extraer documentos integrados de las notas de tareas almacenadas en los archivos MPP. Este enfoque es especialmente útil cuando los archivos MPP se utilizan para llevar especificaciones o archivos adjuntos adicionales a través del campo Notas.

Subscribe to Aspose Product Updates

Get monthly newsletters & offers directly delivered to your mailbox.