Écriture de fonctions Azure avec le traitement de documents Telerik
Au cours de la dernière année, nous avons apporté la prise en charge .NET Core aux bibliothèques de traitement de documents Telerik. Nous avons récemment ajouté PdfProcessing à cette liste. Essayons-le dans Azure Function avec une procédure de démonstration rapide et puissante.
Les bibliothèques de traitement de documents Telerik sont un ensemble de composants permettant de créer, importer, modifier et exporter des fichiers Excel, Word et PDF. documents sans dépendances externes. Jusqu'à récemment, ces bibliothèques ne fonctionnaient que dans un environnement .NET Framework.
Au cours de la dernière année, nous avons beaucoup travaillé pour rendre les bibliothèques multi-plateformes en portant les API à fonctionner dans .NET Core et. Environnements mono via le support .NET Standard 2.0. Nous avons commencé avec la publication des RadSpreadStreamProcessing et RadZipLibrary . Dans la dernière version, 2019 R2, nous avons ajouté RadPdfProcessing à cette liste.
Dans cet article, je vais démontrer la possibilité d'exécuter RadPdfProcessing dans une fonction Azure pouvant créer un fichier PDF de 10 000 pages. document en 8 secondes! Commençons.
Configuration
Avant de poursuivre, vérifiez que les conditions préalables sont installées. Vous aurez besoin de:
- Visual Studio 2019 installé avec la charge de travail de développement Azure
- . Installez les outils Azure Functions .
- Un compte Azure est facultatif, mais recommandé (vous pouvez Testez les fonctions localement sans lui)
Pour commencer, ouvrez Visual Studio 2019 et créez un nouveau projet C # Azure Functions (figure 1).
Fig.1 (cliquez pour agrandir le chiffre)
Ensuite, appelez-le" DocumentProcessingFunctions "et cliquez sur le bouton Créer (Fig.2).
Ajout de références au traitement du fichier PDF
Remarque: Si vous ne possédez pas déjà l'interface utilisateur pour Xamarin Si vous possédez une licence, téléchargez-la à partir de la page Telerik UI pour Xamarin downloads . Option 2: Si vous ne possédez pas de licence, démarrez Un essai sur la page de Telerik UI pour Xamarin téléchargera l’installateur.
Ajoutons maintenant au projet les trois références Telerik requises pour RadPdfProcessing (Fig.6).
Fig.6
Maintenant que les références sont ajoutées, nous sommes prêts à commencer à écrire la fonction.
Écriture de la fonction
Le projet est généré avec une classe générique Function1 . Nous ne souhaitons pas utiliser ceci car le nom de classe de la fonction est généralement utilisé pour le nom de la fonction, qui devient partie intégrante de l'URL du HttpTrigger. Oui, vous pouvez renommer la fonction pour qu'elle soit différente de la classe, mais nous nous en tiendrons aux valeurs par défaut pour ce tutoriel.
Supprimons Function1.cs et ajoutons une nouvelle fonction au projet. Vous pouvez le faire de la même manière que vous ajoutez une classe, sauf que vous souhaitez choisir le modèle "Fonction Azure" (Fig.7).
Fig.7
Votre projet devrait maintenant ressembler à ceci (Fig.9):
À un niveau élevé, voici les étapes:
Voici le code, vous pouvez remplacer tout le contenu de votre classe GeneratePdf par:
avec
System;
avec
.
en utilisant
System.Linq;
en utilisant
System.Net.Http;
[19659000].
utilisant
Les tâches système
utilisant
la méthode.Web.Http;
using
Microsoft.AspNetCore.Mvc;
en utilisant
Microsoft.Azure.WebJobs;
en utilisant
en utilisant
Microsoft. Azure.WebJobs.Extensions.Http;
en utilisant
Microsoft.AspNetCore.Http;
en utilisant
en utilisant
en utilisant
en Microsoft.Extensions.
avec
Telerik.Windows.Documents.Fixed.For matProviders.Pdf.Export;
utilisant
Telerik.Windows.Documents.Fixed.FormatProviders.Pdf.Filmage;
[1965902]
. ]
L'espace-noms
Les fonctions de traitement des documents
{
![]()
statique
classe
.
{
{[2019 R2 or later]
{19659087]
]
public
statique
asynchrone Tâche
Exécuter [
[19659097] [HttpTrigger(AuthorizationLevelAnonymous
"get"
"post"
Route =
null
]
[19459904] [19659902]
HttpRequest req,
[19459097]
Journal ILogger,
[19459097] [19459097] [19459097] [19459097] [19459097]
]
{
[19459097]
{
{19659039] {{19659089] {19659089] ;
// Vérifiez si le nombre de pages préféré a été passé en tant que paramètre de requête.
chaîne
pageCountParam = req.Query [
"pageCount"
];
. Analyser le nombre de pages ou utiliser un nombre par défaut de 10 000 pages.
var pageCount =
int
.TryParse (pageCountParam,
sur
int
nombre)? count: 10000;
log.LogInformation ($
"PageCount définie: {pageCount}, début du traitement de la ... "
);
// Créez le chemin du fichier temporaire dans lequel le fichier final sera sauvegardé.
var finalFilePath = executionContext.FunctionAppDirectory +
"\ FileResultFile.pdf"
;
[19459904]
Source link