venerdì 17 gennaio 2025

Angular la creazione di un file pdf da una pagina web

Si riporta l'articolo scritto per il sito https://www.iprogrammatori.it/articoli/javascript/angular-creazione-file-pdf-pagina-web

In questo articolo vedremo come generare un file pdf contenente le informazioni presenti in una tabella html, il tutto tramite la tecnologia Angular ed il linguaggio di programmazione TypeScript.
La creazione dei file di sola lettura, quali pdf, può tornare utile in alcuni casi quando si devono rilasciare ricevute per esempio, in questo articolo vedremo come  generare un file pdf con le informazioni presenti nella pagina web, il tutto verrà fatto tramite i componenti jspdf e html2canvas che permettono la creazione dei file pdf. 
Utilizzeremo per questo articolo l’ultima versione dell’ambiente Visual Studio Code e la tecnologia Angular 16.
Il file pdf sarà una tabella con due colonne e qualche riga, il tutto come mostrato in figura 1.

typescript creazione pdf
Figura 1 – Il file pdf con la tabella

Creazione del progetto

Dopo aver creato un progetto di tipo Angular tramite i comandi del prompt, apriamo la cartella con Visual Studio Code, oppure nel caso che si ha un proprio progetto per i test, usare quello, in questo modo avremo l’ambiente di sviluppo impostato su quel progetto.
Tramite il prompt di Visual Studio Code installiamo i componenti che ci permetteranno di creare il file pdf.
Di seguito il comando per installare il componente jspdf.
npm install jspdf  
Oltre a questo componente dobbiamo anche aggiungere il componente html2canvas, di seguito si riporta il comando per l’installazione del componente.
npm install html2canvas
A questo punto la creazione del progetto è terminata.

Stesura del codice

Ora non resta che scrivere il codice per creare una pagina html con le informazioni che dobbiamo salvare nel file pdf.
In particolare si crea una tabella con n righe, la quale tabella andremo a salvare come file pdf.
Nel file di tipo html scriviamo una tabella con due colonne e con n righe, di default il file quando si crea un progetto Angular è denominato app.component.html .
La tabella con tutte le informazioni si trova all’interno di un DIV, il quale sarà il riferimento per la creazione del file pdf.
Di seguito si riporta il codice HTML delle suddette operazioni.

HTML

<div   id="pdfTabella" #pdfTabella>

  <div  >

      <div  >

        <h1 >Titolo Tabella</h1>

      </div>

                  <div >

                      <table >

                          <thead  >

                              <tr>

                                  <th

                                      >

                                      Nome</th>

                                  <th

                                      >

                                     Cognome</th>

 

                          </thead>

                          <tbody>

                              <tr  >

                                  <td >Emanuele</td>

                                  <td >Mattei</td>

 

                              </tr>

                              <tr  >

                                  <td  >Luigi</td>

                                  <td  >Cristaldi </td>

 

                              </tr>

                              <tr  >

                                <td  >Luca</td>

                                <td  >Bianchi </td>

 

                              </tr>

                              <tr  >

                                <td  >Francy</td>

                                <td  >Natina </td>

 

                            </tr>

                          </tbody>

                      </table>

                  </div>



  </div>

</div>

 

<button (click)="creaPDF()">Generate</button>

 

A questo punto dobbiamo scrivere il codice per la creazione del file pdf, passiamo in visualizzazione codice, in particolare nel file di tipo .ts, che ha lo stesso nome del file html con la differenza dell’estensione. 
In alto dove sono presenti le dichiarazioni, dobbiamo aggiungere quelle dei due componenti.
Di seguito si riporta la dichiarazione dell’aggiunta dei riferimenti dei due componenti.


TypeScript

import { Component, ElementRef, OnInit, ViewChild } from '@angular/core';

import { jsPDF } from 'jspdf';

import html2canvas from 'html2canvas';

 

Nella dichiarazione della classe del componente si crea una variabile che farà riferimento alla tabella html.
Di seguito si riporta la dichiarazione delle suddette operazioni.

TypeScript:

export class AppComponent implements OnInit {

 

  @ViewChild('pdfTabella') pdfTabella!: ElementRef;

 

 


Ora non resta che scrivere il codice per l’evento click del pulsante, in particolare nel momento in cui si fa click il pulsante trasforma la tabella in un file pdf.
Questo avviene tramite le classi del componente jspdf, e tramite la classe html2Canvas.
Di seguito si riporta il codice per la creazione del file pdf, trasformando la tabella in immagine per aggiungerla nel file pdf e salvarla tramite il metodo “save”.




TypeScript:

  public creaPDF(): void {

 

    html2canvas(this.pdfTabella.nativeElement, { scale: 3 }).then((canvas) => {

      const immagineDaModello = canvas.toDataURL('image/png');

      const fileLarghezza = 400;

      const generatedImageHeight = (canvas.height * fileLarghezza) / canvas.width;

      let PDF = new jsPDF('p', 'mm', 'a4',);

      PDF.addImage(immagineDaModello, 'PNG', 0, 5, fileLarghezza, generatedImageHeight,);

      PDF.html(this.pdfTabella.nativeElement.innerHTML)

      PDF.save('FilePdf.pdf');

    });

  }

 




Conclusioni

L’articolo ha voluto fornire una delle varie tecniche per la creazione dei file pdf in ambito Angular e TypeScript, trasformando html in immagine.
La gestione dei file pdf può tornare utile in vari casi, ma soprattutto in quei progetti dov’è richiesto il rilascio di documenti di conferma.
La tecnologia Angular con il linguaggio TypeScript, permettono la creazione di progetti anche molto complessi.

giovedì 16 gennaio 2025

Download gioco Escape Academy

 


EpicGames, questa settimana offre la possibilità di scaricare gratuitamente e senza limitazioni il gioco Escape Academy, un video gioco di tipo avventura.

Il video gioco, da installare su sistemi operativi Windows.

Fino al 23 gennaio 2025 si potrà scaricare gratuitamente, dopo tale data, il download sarà a pagamento.

Per maggiori informazioni e download visitate il seguente sito https://store.epicgames.com/it/p/escape-academy-bfc2bf

sql server get relational table sql

 


Si riporta l'istruzione SQL da eseguire nel database Sql Server per ottenere informazioni sulle relazioni di un database.


SELECT

    forKeys.name 'Nome Relazione',

    tp.name 'Tabella Principale',

    cp.name as 'Nome Colonna', 

    tr.name 'Tabella di riferimento',

    cr.name as ' Colonna di riferimento'

FROM

    sys.foreign_keys forKeys

INNER JOIN

    sys.tables tp ON forKeys.parent_object_id = tp.object_id

INNER JOIN

    sys.tables tr ON forKeys.referenced_object_id = tr.object_id

INNER JOIN

    sys.foreign_key_columns fkc ON fkc.constraint_object_id = forKeys.object_id

INNER JOIN

    sys.columns cp ON fkc.parent_column_id = cp.column_id AND fkc.parent_object_id = cp.object_id

INNER JOIN

    sys.columns cr ON fkc.referenced_column_id = cr.column_id AND fkc.referenced_object_id = cr.object_id

ORDER BY

    tp.name, cp.column_id


mercoledì 15 gennaio 2025

Download gioco Strinova

 


Un gioco di tipo sparatutto con una grafica molto ben fatto per ragazzi ed adulti.

Parliamo di Strinova , un videogioco per sistemi operativi Windows.

Per maggiori informazioni e download visitate il seguente sito https://store.epicgames.com/it/p/strinova-2e3687

Corso Gratuito Front-End Developer web

 



Un corso gratuito molto interessante per tutti coloro che sono in cerca di un'occupazione.

A Roma, un corso per diventare programmatori Front-end, nello sviluppare programmi per il web (siti).

Al seguente sito https://www.accademiainformatica.com/corso-gratuito-front-end-developer/ le informazioni del corso e la possibilità di iscriversi.


Download gratuito antivirus Bitdefender Antivirus Free for Windows

 

bitdefender antivirus gratuito

Per coloro che sono alla ricerca di un programma di antivirus gratuito ma di buona qualità, possono valutare ed installare il software della bitdefender.

Il software è gratuito ed è in lingua italiana.

Per il download e maggiori informazioni visitate il seguente sito https://www.bitdefender.com/it-it/consumer/free-antivirus

martedì 14 gennaio 2025

C# Componente gratuito per la creazione di video giochi sampsharp

Per chi realizza video giochi con il linguaggi C# e la tecnologia .Net, troverà interessante il componente gratuito SampSharp, un componente che permette di creare video giochi.
Il sito ufficiale del componente è visibile qui SampSharp

lunedì 13 gennaio 2025

Download gioco Honkai Impact 3rd

 


Disponibile gratuitamente e senza limitazioni il gioco di azione Honkai Impact 3RD, per ragazzi ed adulti.

Il gioco è per sistemi operativi Windows.

Per maggiori informazioni e download visitate il seguente sito Honkai Impact 3rd | Scaricalo e gioca gratuitamente sull'Epic Games Store

TypeScript utilizzo delle espressioni regolari per estrapolare i numeri da una variabile testo, uso di Match di Expression regular

Si riporta un espressione regolare che estrapola tutti i numeri presenti in una variabile di tipo testo.
Tramite il metodo "Match" nel linguaggio di programmazione TypeScript, possiamo estrapolare tutti quei valori che rispettano la condizione.



TypeScript:
//Restituisce un array con 5 e 6
let testoConNumero: string = 'Prendo 5 ciambelloni
e non 6';
console.log(testoConNumero.match(/\d+/g));

domenica 12 gennaio 2025

download gioco Cosmic Royale

 


Un gioco molto bello adatto a bambini ed adulti, parliamo del gioco gratuito di macchine da corsa Cosmic Royale, un gioco in lingua italiana per sistemi operativi Windows.

Il gioco offre una grafica molto ben cura e buona giocabilità.

Per maggiori informazioni e download visitate il seguente sito  https://store.epicgames.com/it/p/cosmic-royale-750c21

Raspberry System.Drawing.Common is not supported on this platform.

Quando si sta sviluppando un'applicazione per Raspberry, e nel quale dobbiamo fare l'uso della grafica, può capitare di visualizzare il messaggio di errore "System.Drawing.Common is not supported on this platform.".

Questo perchè stiamo utlizzando in ambiente Raspberry, le classi dello spazio dei nomi “System.Drawing.Common”, per risolvere questa problematica, utilizzare le classi presenti nello spazio dei nomi “SkiaSharp”.

sabato 11 gennaio 2025

Download gioco Marvel Rivals

 


Un nuovo gioco gratuito per sistemi operativi Windows, di tipo azione e sparatutto proposto da EpicGames.

Il gioco Marvel Rivals in lingua italiana, per adolescenti ed adulti, offre una grafica e giocabilità molto interessante.

Per maggiori informazioni e download visitate il seguente sito https://store.epicgames.com/it/p/marvel-rivals-182004

TypeScript new line concatenation string

Nel linguaggio di programmazione TypeScript, in una stringa possiamo riportare il testo a capo tra due porzioni di testo in una variabile di tipo string.
Per portare il testo a capo si deve utilizzare il carattere speciale "\n", di seguito un frammento di codice di tale utilizzo.

TypeScript
 let testo = "Questa è la prima frase. \n Questa è la
seconda frase.";
   console.log(testo);

venerdì 10 gennaio 2025

Download gioco gratuito Turmoil

 

gioco turmoil


Turmoil, è un gioco con una grafica molto semplice ed adatto a tutti, soprattutto ai bambini.

Il gioco, in lingua italiana e per sistemi operativi Windows e Mac, è di tipo strategico e con una semplice giocabilità.

Fino al 16 gennaio 2025 il gioco si potrà scaricare gratuitamente, dopo tale data il download sarà a pagamento.

Per maggiori informazioni ed altro visitate il seguente sito https://store.epicgames.com/it/p/turmoil-26318a

Software antivirus gratuiti

La protezione del proprio pc è importante, per questo è importante avere un antivirus (non installarli più di uno).
Oltre all'antivirus di Microsoft, che funziona molto bene, di seguito una lista di programmi gratuiti di Antivirus.

Avira https://www.avira.com/it/downloads (sezione per la casa, e ci sono anche versioni per il Mac)


giovedì 9 gennaio 2025

TypeScript expression regular get number

Utilizzando il linguaggio di programmazione TypeScript, è possibile validare e gestire le informazioni tramite le espressioni regolari.
Tramite il metodo "exec" possiamo estrapolare il valore della condizione dell'espressione regolare se questa viene rispettata, altrimenti restituisce null.

Di seguito un esempio di espressione regolare che verifica se un valore è numerico, ed in tal caso estrapola in forma di oggetto (0 per avere il valore) il primo valore numerico.


espression = /\d+/;
console.log(espression.exec('Vado al lavoro a volte 3
settimana e non 5'));
//Restituisce 3

mercoledì 8 gennaio 2025

Download gioco Infinity Nikki

 

gioco Infinity Nikki

Infinity Nikki è un video gioco con una grafica molto ben fatta per sistemi operativi Windows.

Il gioco è di tipo strategia ed adatto a tutte le fasce di età, ed è in lingua italiana.

Per maggiori informazioni e download visitate il seguente sito https://store.epicgames.com/it/p/infinity-nikki-71fc64

Crescente numero di post

Iniziamo l'anno con un nuovo risultato per questo mio luogo virtuale, la casetta virtuale come in passato avevo detto.
Anche lo scorso anno superate le pubblicazioni, tra articoli e trucchi, con un numero crescere del precedente anno.
Spero che il sito diviene sempre più utile alle persone, non sono alla ricerca di fare soldi o business, ma quella di essere di aiuto alle persone.
E che sia un anno di altri risultati e soprattutto di ottime pubblicazioni.
Ben vengano consigli e proposte, e se volete scrivermi sarà un piacere riceverli.

Download gioco BLEED RUNNER

 

BLEED RUNNER

Disponibile gratuitamente per sistemi operativi Windows, il gioco di azione in lingua inglese Bleed Runner.

Il gioco, adatto a tutti, ragazzi ed adulti, offre una grafica molto semplice.

Per maggiori informazioni e download visitate il seguente sito https://store.epicgames.com/it/p/bleed-runner-3f95bc

c# get temperature of cpu

Il frammento di codice qui di seguito, illustra una tecnica per rilevare la temperatura della CPU tramite il linguaggio C#

Spazio dei nomi:

using System;
using System.Diagnostics;
using System.Management;

C#
 try
 {
     ManagementObjectSearcher ManObjSearcher = new ManagementObjectSearcher(@"root\WMI", "SELECT * FROM MSAcpi_ThermalZoneTemperature");
     foreach (ManagementObject obj in ManObjSearcher.Get())
     {
         double temperaturaCPU = Convert.ToDouble(obj["CurrentTemperature"].ToString());
         //Converte in Celsius
         temperaturaCPU = (temperaturaCPU - 2732) / 10.0;
         MessageBox.Show($"temperatura CPU: {temperaturaCPU} °C");
          

     }
 }
 catch (Exception ex)
 {
     Console.WriteLine("Errore: " + ex.Message);
 }

martedì 7 gennaio 2025

typescript regular expression only number

Il frammento di codice qui di seguito, illustra una tecnica per verificare se un valore è numerico oppure no.
Anche nel linguaggio di programmazione TypeScript è possibile utilizzare le regular expression.


TypeScript:

let espressione =  /^[0-9]+$/;
//restituisce true
console.log(espressione.test('4'));

lunedì 6 gennaio 2025

Download gioco Hell Let Loose

 


Disponibile gratuitamente e senza limitazioni, per sistemi operativi Windows, il gioco Helle Let Loose, uno sparatutto in lingua inglese.

Fino al 9 gennaio 2025 si potrà scaricare gratuitamente dopo tale giorno il download sarà a pagamento.

Per maggiori informazioni e download visitate il seguente sito https://store.epicgames.com/it/p/hell-let-loose-03f036

FT: Quota 5000 post

Il nuovo anno inizia con un primo record per questo blog, in particolare superate i 5000 post, tra articoli e notizie, script e tanto altro in ambito digitale e non solo.
Tanto l'impegno ma anche la consapevolezza che spesso i miei post sono utili per molte persone che lavorano nel settore informatico oppure come hobby questo fantastico mondo.
Non ho mai pensato di farne un business o vantaggio economico, ma solo uno strumento per ricordarmi frammenti di codice e soprattutto che diventi utili per altre persone.

E se avete consigli, proposte o altro ben vengano, sarei lieto di riceverli.

Software gratuiti per la sicurezza e protezione del proprio pc

 La sicurezza informatica è importante, per questo si riporta un elenco di programmi gratuiti per la sicurezza e protezione del proprio pc.

I programmi elencati qui di seguito sono in varie lingue, tra cui italiano, i software permettono di proteggere il pc oppure effettuare la pulizia da possibili virus, trojan ed altri programmi attivi nel computer.


Qui un elenco di programmi da tener presente.

Antivirus:

Avast https://www.avast.com/it-it/index#pc

Avg https://www.avg.com/it-it/free-antivirus-download#pc

Avira https://www.avira.com/it/downloads (sezione per la casa, e ci sono anche versioni per il Mac)



Rimozione gratuita dei virus con Sophos Scan & Clean

https://www.sophos.com/it-it/free-tools/virus-removal-tool


Rimozione AdWare con Malwarebytes

https://it.malwarebytes.com/adwcleaner/


Rimozione Malware con IOBit 

https://www.iobit.com/it/malware-fighter.php

Ottimizzazione pc 

Ccleaner CCleaner rende il computer più veloce e più sicuro | Sito ufficiale