La conversió de fitxers de Microsoft Project (MPP) a PDF permet als equips compartir plans en un format coherent i portàtil. Aspose.Tasks for .NET, podeu personalitzar l’exportació: triar la vista (Gantt, Ús de recursos, Feu de recursos), controlar la mida de la pàgina i l’orientació, ajustar l’escala de temps i encaixar, i fins i tot generar la Recursos sobreallotjats Aquest manual proporciona una configuració neta i repetible, a més d’una mostra completa de C#.

Coneixements clau

  • Seleccioneu la sortida correcta: utilitzar PresentationFormat Per a visualitzacions de Gantt/Resource o SaveReport(..., ReportType.OverallocatedResources) Per a un primer resum.
  • Control de la configuració: La direcció i la direcció de la pàgina (PageSize, IsPortraiti el seu correcte (FitContent, RenderToSinglePage).
  • La pàgina web compta: Tona Timescale i StartDate/EndDate;· Permet ReduceFooterGap per a pàgines més denses.
  • Calcula els comptes actuals: Set CalculationMode = Automatic o trucada project.Recalculate() abans de l’exportació.

Guia de pas per pas

Pas 1: carregar el fitxer MPP

Llegeix el teu .mpp i assegurar-se que els càlculs són actualitzats perquè les dates, les durades i els indicadors siguin correctes en l’exportació.

Pas 2: Configuració de la configuració

Seleccioni la mida de la pàgina/orientació (per exemple, paisatge A3 per a Gantt ampli). FitContent Per evitar les arrugues i ReduceFooterGap Recuperar el whitespace.

Pas 3: Ajustar l’escalabilització i el contingut

utilitzar Timescale (Dies, Setmanes, Mesos) i opcional RenderToSinglePage Per a un resum compacte.

Pas 4: Afegir opinions d’interessats

Exportació de punts de vista alternatius com Ús de recursos per a la detallada realització de les activitats, i inclou la Recursos sobreallotjats Informar sobre els conflictes de focus.

Exemple complet i compilable (C#)

using System;
using Aspose.Tasks;
using Aspose.Tasks.Saving;
using Aspose.Tasks.Visualization;

namespace MppToPdfCustomized
{
    internal static class Program
    {
        // How to run:
        // 1) dotnet new console -n MppToPdfCustomized
        // 2) cd MppToPdfCustomized
        // 3) dotnet add package Aspose.Tasks
        // 4) Replace Program.cs with this file's contents
        // 5) dotnet run -- "path-to-input.mpp"
        private static void Main(string[] args)
        {
            if (args.Length == 0)
            {
                Console.WriteLine("Usage: dotnet run -- <path-to-input.mpp>");
                return;
            }

            string input = args[0];

            // Load project and ensure calculations are current
            var project = new Project(input)
            {
                CalculationMode = CalculationMode.Automatic
            };
            project.Recalculate();

            // 1) Gantt PDF: A3 landscape, weekly timescale, fit rows
            var ganttOptions = new PdfSaveOptions
            {
                PresentationFormat = PresentationFormat.GanttChart,
                IsPortrait = false,
                PageSize = PageSize.A3,
                Timescale = Timescale.Weeks,
                FitContent = true,
                ReduceFooterGap = true,
                StartDate = project.Get(Prj.StartDate).Date,
                EndDate = project.Get(Prj.FinishDate).Date
            };
            string baseName = System.IO.Path.GetFileNameWithoutExtension(input);
            project.Save($"{baseName}-gantt.pdf", ganttOptions);
            Console.WriteLine($"Saved: {baseName}-gantt.pdf");

            // 2) Single-page Gantt summary (auto-scaling)
            var singlePageOptions = new PdfSaveOptions
            {
                PresentationFormat = PresentationFormat.GanttChart,
                IsPortrait = false,
                RenderToSinglePage = true
            };
            project.Save($"{baseName}-gantt-singlepage.pdf", singlePageOptions);
            Console.WriteLine($"Saved: {baseName}-gantt-singlepage.pdf");

            // 3) Resource Usage view with daily timescale
            var usageOptions = new PdfSaveOptions
            {
                PresentationFormat = PresentationFormat.ResourceUsage,
                Timescale = Timescale.Days,
                FitContent = true
            };
            project.Save($"{baseName}-resource-usage.pdf", usageOptions);
            Console.WriteLine($"Saved: {baseName}-resource-usage.pdf");

            // 4) Built-in Overallocated Resources report (highlights conflicts)
            project.SaveReport($"{baseName}-overallocated-resources.pdf", ReportType.OverallocatedResources);
            Console.WriteLine($"Saved: {baseName}-overallocated-resources.pdf");
        }
    }
}

Com es pot córrer

  1. dotnet new console -n MppToPdfCustomized
  2. cd MppToPdfCustomized
  3. dotnet add package Aspose.Tasks
  4. Substitució Program.cs Amb el codi de dalt
  5. dotnet run -- "path-to-input.mpp"

Què fa aquest codi

  • càrrega El seu MPP i permet Càlcul automàtic.
  • Exportació Configuració Gantt i Ús de recursos PDFs, més a Pàgina única El resum.
  • Generadors El Recursos sobreallotjats Informar sobre els conflictes de recursos.

Resolució de problemes & Tips

  • PDF massa llarg / massa llarg: Prova Timescale = Timescale.Months o permet RenderToSinglePage Per a resum.
  • Rutes de tall: Asseguració FitContent = true i considera ReduceFooterGap = true.
  • No hi ha ressenyes: utilitzar SaveReport(..., ReportType.OverallocatedResources) (Relats) o Exportació Ús de recursos / Feu de recursos Per a contextos, una vista de Gantt simple no colora les generalizacions per si sola.
  • Fonts / Llocals: Descarregar els continguts necessaris al servidor; PdfSaveOptions.FontSettings Per a les carpetes de custom.

FAQ

P. Puc exportar només un rang de dates de l’horari? Sí, és set StartDate i EndDate És PdfSaveOptions Només cal fer aquesta finestra.

Q2.Com puc reduir el nombre de pàgines per a projectes molt grans? Utilitza coarser Timescale (setmanes o mesos) i es FitContent = true,I considerant RenderToSinglePage Per a resum.

Q3.Què passa si necessito una llista ràpida de recursos totalment assignats? Exportació de Recursos sobreallotjats Informe amb project.SaveReport(...);· Està optimitzat per a aquest propòsit.

Q4.- Necessito instal·lar el Microsoft Project? No. Aspose.Tasks fa que els arxius es reprodueixin de forma independent; només cal instal·lar el Aspose.Tasks El paquet nou.

P. Puc personalitzar columnes en les vistes exportades? Sí, utilitzar PdfSaveOptions.View/ViewSettings Per definir columnes específiques; en cas contrari s’utilitzen les normes de defecte.

Conclusió

utilitzant PdfSaveOptions i la selecció correcta de visualització/report, podeu produir PDFs polits adaptats a les parts interessades: amplis cronologies de Gantt, resums d’una pàgina i exportacions centrades en recursos. Comenceu amb la configuració de la pàgina raonable, mantingueu actualitzats els càlculs i ajusteu l’escala de temps i el rang de dates per obtenir una sortida neta i llegible.

More in this category