Je cherche à vouloir créer un fichier pdf, avec des données de mon application Unity. Désolé pour les explications, un peu longue, mais j'essaie de donner le plus de détail pour vous "faciliter" la tâche.
Avant les explications que je donne, je tiens à préciser que toute solutions pour générer un PDF, avec, écrit dedans des valeurs du jeux, même une solution différente de ce que je suis entrain de faire, me convient.
Pour commencer, j'arrive déjà à créer un fichier .csv (Excel) avec Unity, et le System I/O de C#.
Cependant, j'ai cru comprendre que pour créer un fichier PDF, il fallait obligatoirement ajouter un framework dans notre projet.
Le 1er framework qui est venu est : iText7.
J'ai donc ajouter le plugin à l'aide du gestionnaire de package NuGet.
J'ai ensuite vu qu'il fallait ajouter les fichier .dll, dans notre projet Unity. Je l'ai fait aussi.
Seulement voila, à chaque fois que j'ajoute un fichier dll, Unity m'en demande un autre (voir image) :
J'ai ajouté comme il me le demandé, les fichiers dll voulu 5 fois, mais j'ai l'impression que ca ne s'arrête jamais.
Enfin, voila mon code :
Code : Tout sélectionner
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using System.IO;
using iText.Layout;
using iText.Kernel.Geom;
using iText.Kernel.Pdf;
public class PDF_Generator : MonoBehaviour
{
string filename = "";
[System.Serializable]
public class Player
{
public string name;
public int health;
public int damage;
public int defence;
}
[System.Serializable]
public class PlayerList
{
public Player[] player;
}
public PlayerList myPlayerList = new PlayerList();
// Start is called before the first frame update
void Start()
{
filename = Application.dataPath + "/test.pdf";
}
// Update is called once per frame
void Update()
{
if (Input.GetKeyDown(KeyCode.Escape))
{
EnglishPDF();
}
}
public void EnglishPDF()
{
string dest = Application.dataPath + "/test.pdf";
PdfWriter writer = new PdfWriter(dest);
// Creating a PdfDocument
PdfDocument pdfDoc = new PdfDocument(writer);
// Adding an empty page
pdfDoc.AddNewPage();
// Creating a Document
Document document = new Document(pdfDoc);
// Closing the document
document.Close();
}
}
Le message d'erreur est le suivant :
<Le type "AbstractIdentifableElement" est défini dans un assemby qui n'est pas référencé. Vous devez ajouter une référence à l'assembly 'itext.commons', Version 7.2.2.0, Culture = neutral, PublicKeyToken = (un long chiffre)>
Je travaille avec Unity 2019.4.36f1, et Visual Studio 2019. Je vous remercie d'avance pour vos réponses.
Sincèrement.