Question

J'ai un projet où je crée des modèles de documents. Code ici:

 private void btnExcel_Click(object sender, System.Windows.RoutedEventArgs e)
    {
        if (AutomationFactory.IsAvailable)
        {
            dynamic excel = AutomationFactory.CreateObject("Excel.Application");
            excel.Visible = true;

            dynamic workbook = excel.workbooks;
            workbook.Add();

            dynamic sheet = excel.ActiveSheet;
            dynamic cell = null;
            int i;
            int z = 20;

            for (i = 1; i <= 20; i++)
            {
                cell = sheet.Cells[i, 1];
                cell.Value = i.ToString();

                cell = sheet.Cells[i, 2];
                cell.Value = z.ToString();

                z--;
            }

        }

    }

Comme vous pouvez le voir, ceci est pour les documents Excel. Y at-il que je Waypeut quelque chose comme ça et à l'exportation pour les fichiers PDF? Merci pour les idées.

Était-ce utile?

La solution

Oui, vous pouvez.

Vous pouvez appeler une opération de service WCF faisant passer toutes les données dont il a besoin. Ensuite, faites tout ce qui est nécessaire pour générer le fichier PDF. Une fois que vous avez fait cela, vous avez deux options:

  • Vous pouvez renvoyer les octets à la suite de l'opération. Dans ce cas, vous pouvez montrer à l'utilisateur un SaveDialog pour enregistrer le fichier sur son disque local.
  • Vous pouvez envoyer le fichier généré à une autre page ASPX et afficher le fichier PDF à l'utilisateur qui a alors le choix de l'enregistrer sur son disque local ou voir tout simplement.

J'espère que est ce que vous cherchez.

Autres conseils

Bien sûr, vous pouvez. Mais pourquoi?! Si je comprends avec AutomationFactory.CreateObject vous pouvez le faire lorsque la machine client Excel ou PDF sont installés.

Mais le traitement avec l'application web (surtout quand ce n'est pas une applications d'entreprise) vous voulez voir pdf / xls / xlsx / ... partout et vous pouvez transmettre ce qui est installé sur la machine client ou non.

J'ai situation similaire pour un de mes projets. Nous utilisons le format XPS pour montrer en silverlight, car il a un support natif. Et d'autres formats sont convertis en xps.

Les nuances de conversion, par exemple pour les documents Excel Je pense que la meilleure façon est de convertir séparément chaque feuille, et mettre en œuvre viewer type particulier qui diffère de spectateur, par exemple, pour des documents Word ou pdf de.

Il y a les téléspectateurs 3ème partie qui permettent de voir xps non seulement sur silverlight mais aussi pdf. Mais sans eux, vous ne pouvez permettre à l'utilisateur de télécharger le fichier PDF de ne pas voir, parce que ces 3 viewer partie converti le plus probable pdf à xps sous le capot.

De toute façon, surtout sans 3ème parties, il faudra d'énormes efforts pour mettre en œuvre viewer PDF sur silverlight. Donc, je vous suggère d'utiliser xps pour le visionnement. Mais quand vous avez besoin d'avoir des fichiers PDF pour les téléchargements que l'utilisation XPS pour la visualisation et PDF sur le téléchargement. Dans ce cas, vos convertisseurs produiront 2 formats pour chaque sitation.

Par exemple, regardez

http://firstfloorsoftware.com/blog/announcement-document-toolkit -pour-silverlight /

http://silverpdf.codeplex.com/

http://www.componentone.com/SuperProducts/PdfViewerSilverlight/

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top