La campana.

Ci sono quelli che hanno letto questa notizia prima di te.
Iscriviti per ricevere articoli freschi.
E-mail
Nome
Cognome
Come vuoi leggere la campana
Senza spam

Dove può essere utile? Se è necessario generare file pronti da stampare in un'applicazione Web per un modello duro arbitrario esistente: certificati, badge, saltare e così via.

Perché PDF? Il formato PDF consente di creare documenti con una serie di vantaggi indiscutibili: apertura, piattaforma trasversale, prevalenza e, che è molto importante, precisione e invalutamento della trasmissione dei dati su una catena, la visualizzazione e la stampa.

Qual è il sale? Usando i file SVG come modelli con la possibilità di sostituire i campi necessari, seguiti dalla conversione in PDF.

Quali sono i vantaggi? La capacità di creare e modificare rapidamente schemi molto complessi nei soliti editor vettoriali, come ad esempio Adobe Illustrator, Corel Draw. o inkscape. Semplicità della programmazione e dell'uso solo gratuitamente software. Un altro importante vantaggio è la capacità di utilizzare in modo trasparente UTF-8 per i testi inseriti.

Cosa è necessario per quello? Per utilizzare questo metodo, è necessario un server dedicato con la possibilità di installare le applicazioni (Inkscape and Ghostscript) ed eseguire i comandi di sistema. In questo caso, tutto funzionerà sia sulla piattaforma Windows che su Linux.

Penso che le brevi faq accesi le domande principali su questo metodoPertanto, procedere immediatamente all'analisi della sua essenza.

Come sapete, il formato della grafica vettoriale SVG è in realtà un file XML, quindi il file ha già creato abbastanza semplicemente modifica gli strumenti di programmazione più semplici. In caso di utilizzo Svg file.e come modello rigido, il processo è semplificato a volte, perché Non abbiamo bisogno di modificare la struttura del documento, e devi solo sostituire i valori testuali desiderati o codificati nelle immagini raster di base64.

È possibile creare un modello iniziale in qualsiasi editor di vettore che supporta le esportazioni su SVG: Adobe Illustrator, Corel Draw o in Inkscape stesso. L'uso di quest'ultimo è desiderabile, almeno sull'ultimo stadio convettivo, poiché, in definitiva, è lui e per produrre la trasformazione di cui hai bisogno.

Quando si utilizza un raster in un modello, è possibile utilizzare metodi 2-A, memorizzare un raster in un file esterno separato o incorporato nel file SVG stesso. Se è necessario modificare il modello raster nel modello nel primo caso, è possibile modificare il file prima di generare. Quando si memorizza il modello integrato nel file, nella proprietà URL degli oggetti dell'immagine per registrare la stringa:

dove (immagine) è una scatola per inserire un modello di immagine di base64 codificata.

Ad esempio, disegna un semplice motivo di distintivo, penso che ti dispiace per la curva, non sono un artista, ma per uso reale, puoi ordinare il tuo layout vettoriale di designer.


Non ho usato il mutevole immagine raster., lasciandolo ai compiti e limitarsi solo a campi di testo modificabili.

Penso che tu abbia già prestato attenzione al fatto che nei luoghi dei presunti tag di testo del templatezer (in questo esempio Usato). Esattamente usando XML. I tag compatibili consente di prescriverli nell'editor vettoriale senza ricorrere a editing aggiuntivo.

Abbiamo un modello, e senza problemi sarà in grado di inserire i dati di cui hai bisogno, ma in quanto effettivamente porteremo la trasformazione? Per fare ciò, usa l'interfaccia riga di comando Inkscape:

# Converti in file PDF
Inkscape -a.

Usando la chiave " -UN.»Otteniamo immediatamente il file PDF, ma, sfortunatamente, il PDF ha creato direttamente direttamente grandi dimensioni. Per risolvere questo problema, puoi andare in giro. Vale a dire, l'esportazione di SVG non è diretta in PDF, ma per catena Svg-\u003e Ps-\u003e pdf. Usando per la formazione finale File PDF. L'utilità PS2PDF dal kit di script Ghost, possiamo ridurre le dimensioni del file finale in decine di volte.
# Conversione al file PostScript
Inkscape -p.
# Conversione al file PostScript in PDF
PS2PDF.

L'unico aspetto negativo è che in questo caso perdemo tutti gli effetti di trasparenza, poiché il formato PostScript non lo supporta.

Per tollerabilità completa dei documenti generati, è possibile aggiungere un'opzione di inscape " -T.»Trasformazione dell'intero testo alle curve. Con questo possiamo sbarazzarci dei problemi in presenza di caratteri su una macchina del cliente, nonché da problemi di codifica.

Ora abbiamo tutto il necessario: modelli SVG e team di trasformazione. Scriviamo uno script PHP che fornirebbe il file PDF generato dal modello.

/* ****************************************************************************************
* Script Formare un file PDF Pass utilizzando una conversione sequenziale
* Modello nel file SVG, dopo di che è convertito nel file Inkscape del file PostScript,
* E quest'ultimo viene convertito in PDF utilizzando l'utilità PS2PDF.
*
* Autore: shebasteuk v.v. A.k.a. JSTINGO.
* **************************************************************************************** */

/ * Opzioni di script * /

// percorso alla cartella con file temporanei
// (se non specificato, i file verranno memorizzati nella cartella temporanea del sistema)
$ Tmp_dir \u003d ""; // Genera il percorso verso i file SVG, PS e PDF temporanei
$ Tmp_svg_file \u003d tempnam ($ tmp_dir ",");
$ Tmp_ps_file \u003d tempnam ($ tmp_dir ",");
$ Tmp_pdf_file \u003d tempnam ($ tmp_dir ","); / * FastTemplate * /
includere ( "Includi / cls_Fast_Template.php");
$ TPL \u003d New FastTemplate ("Templates"); Prova ( / * Blocco con i dati ottenuti per modello * /
/* ........................... */
$ user_name \u003d "jstingo";
$ Rettribued_Date \u003d "28/09/2007";
/* ........................... */
/ * Forma il nome del file dei risultati come utente_name.pdf * /
$ Pdf_file_name \u003d $ user_name. ".PDF"; / * Elaborazione del modello e ricezione di un file di risultato * /$ TPL -\u003e Definisci (array ("svg" \u003d\u003e "template.svg"));
$ TPL -\u003e ASSIGN (array ("user_name" \u003d\u003e $ user_name,
"R_Date" \u003d\u003e $ Register_Date
));
$ TPL -\u003e Parse ("svg", "svg"); // Salva il file SVG risultante
$ TPL -\u003e FastWrite ("SVG", $ TMP_SVG_FILE); // Facciamo una conversione di file svg inkscape "A in file PS
// tasti
// -t - serve per convertire il testo in curve (per il normale supporto del carattere)
// -P - indica la necessità di convertire nel file PostScript
sistema ( "INKSCAPE -T $ TMP_SVG_FILE -P $ TMP_PS_FILE", $ successo); se ($ successo! \u003d 0)
lanciare nuova eccezione ( "Errore durante la formazione di un file PS.");// Trasforma il file PS in PDF utilizzando l'utilità PS2PDF

// tasti
// -DUSEFLATECOMpression \u003d TRUE - Imposta l'uso della compressione
// -DPDFSettings \u003d / Stampante - Imposta l'ottimizzazione della stampa

sistema ( "PS2PDF -DuseFlateCompression \u003d True -DpdfSettings \u003d / Stampante $ TMP_PS_FILE $ TMP_PDF_FILE", $ successo); // In caso di trasformazione infruttuosa, formiamo un'eccezione
se ($ successo! \u003d 0)
lanciare nuova eccezione ( "Errore durante la formazione di un file PDF.");// Titolo che cambieremo il file PDF
intestazione ( "Tipo di contenuto: Applicazione / PDF");// clausola sarà come $ pdf_file_name
intestazione ( "Content-Disposizione: Allegato; FILENAME \u003d" ". $ Pdf_file_name. "" "); // Invia un file generato
readfile ($ tmp_pdf_file); // Elimina file temporanei
@ Scollegare ($ tmp_svg);
@ scollega ($ tmp_ps_file);
@ Scollegare ($ tmp_pdf_file); cattura (eccezione $ e) (
/ * Se si è verificato un errore da qualche parte, allora informiamo su di esso * /
$ TPL -\u003e Definisci (array ("errore" \u003d\u003e "error.tpl"));
$ TPL -\u003e Assegna ("Errore", $ E -\u003e GetMessage ()); $ TPL -\u003e Parse ("Errore", "Errore");
$ TPL -\u003e Fastprint ("Errore");
}
?>

Penso che tutti non saranno molte difficoltà a riscrivere lo script in un altro linguaggio di programmazione.

Ho incontrato per la prima volta il compito di generare documenti PDF sul sito qualsiasi programmatore (spero) inizierà la sua strada con la ricerca di soluzioni già pronte, cioè la biblioteca che lo fornirà queste opportunità. Avevo bisogno di una biblioteca per PHP, in modo da non essere licenziato in futuro, dal momento che il sito ha funzionato per PHP. Mi piacerebbe ancora essere libero e permesso di usarlo liberamente per scopi commerciali. Ho trovato informazioni sulle 3 ° opzioni:

PDFLIB nella versione gratuita non supporta UTF-8, che è cattiva. Con FPDF quasi la stessa storia, quindi ho scartato immediatamente queste opzioni e non ho preoccupato con loro. Le informazioni su TCPDF nella rete sono molte. Questa libreria fa anche parte di molti CMS popolari.

Ci sono versioni per PHP4 e PHP5. Ho bisogno di un cinque.

Disimballare l'archivio. Vedremo il seguente elenco di file e directory nella directory TCPDF:

Cache Config DOC - Documentazione (puoi buttare fuori a sollievo) Esempi: puoi anche buttare indietro le immagini 2dbarcodes.php barcodes.php htmlcolors.php tcpdf.php unicode_Data.php tcpdf.ct tcpdf.fdf changelog.txt license.txt readme .TXT

TCPDF Quando si genera un documento, include i font utilizzati per il documento. Questi font si trovano nella directory dei font. Tre file corrispondono a ciascun carattere:

Wift nome.php_name.z Name_name.ctg.z.

I font cirillici non c'è che siamo comprensibili, non si adatta. Se si prevede di utilizzare in un documento cirillico, è possibile eliminare tutto tranne helvetica.php, poiché è utilizzato dalla libreria predefinita e le cartelle Utili, dove tutto il necessario per preparare i caratteri cirillici.

Diciamo, avevamo bisogno di un font del design normale Arial. Prendiamo il carattere Arial (normale) dalla cartella Sistema di Windows (ad esempio) - il file AIAL.TTF - e copialo nella cartella Font / Utils.

In questa cartella c'è un'utilità TTF2UFM, che abbiamo bisogno di pioggia file ARIAL.TTF:

Php -Q makefont.php Arial.ttf Arial.ufm

Se la macchina locale non interpreta PHP, è possibile eseguire il seguente file sul server:

Se si "piove" più file e si desidera formare tutti i caratteri contemporaneamente (per i quali sono stati creati i file .UFM), che sono disponibili nella cartella, avvia MakeAllTTFFFonts.php.

Dopo il funzionamento di questa utilità, abbiamo tre file nella cartella Utils: Arial.php, Arial.z, Arial.ctg.z, che dobbiamo passare alla cartella dei font. Arial.TTF e Arial.ufm I file non sono più necessari, quindi possiamo tranquillamente rimuoverli.

Di conseguenza, abbiamo preparato il font Arial, che sarà collegato al file PDF formabile. Ma allo stesso tempo è necessario considerare che la dimensione del documento PDF formato aumenterà di circa la dimensione del file del carattere Arial.Z. È inoltre necessario tenere conto del fatto che se vogliamo lanciare le iscrizioni, avremo bisogno di creare un carattere Ariali separato per questo, o se in grassetto-arziali - Arialb.

È tempo di creare il nostro documento.

// Crea nuovo documento PDF $ PDF \u003d nuovo TCPDF ("P", "mm", "A4", vero, "UTF-8", falso);
// imposta informazioni sul documento $ pdf-\u003e setauthor ("il tuo nome"); $ Pdf-\u003e settle ("nome del nostro documento");
// Imposta dati di intestazione predefinita $ PDF-\u003e SetHeaderData (PDF_Header_Logo, PDF_Header_Logo_Width, PDF_Header_Title, PDF_Header_String);
// Impostare i caratteri di intestazione e piè di pagina $ PDF-\u003e SetHeaderFont (array (PDF_FONT_NAME_MAIN ", PDF_FONT_SIZE_MAIN)); $ PDF-\u003e SetFooterFont (array (PDF_FONT_NAME_DATA ",", PDF_FONT_SIZE_DATA));
// imposta il carattere monospaced predefinito $ PDF-\u003e SetDefaultMONOSpaceDFont (PDF_FONT_MONOSAESpaced);
// Set Margins $ PDF-\u003e SetMargins (PDF_margin_Left, PDF_margin_top, PDF_margin_right); $ PDF-\u003e SetHeadermargin (PDF_margin_header); $ Pdf-\u003e setfootermargin (pdf_margin_footer);
// imposta la pagina Auto Breaks $ pdf-\u003e setautopagebreak (true, pdf_margin_bottom);
// imposta il carattere $ pdf-\u003e setfont ("tempi", "bi", 16);
// Aggiungi una pagina $ PDF-\u003e AddPage ();
// Stampa una riga con cella () $ PDF-\u003e cella (0, 12, "Esempio 1", 1, 1, "c");
// Chiudi e in uscita Documento PDF $ PDF-\u003e Uscita ("ESEMPIO_1.PDF", "I"); ? \u003e.

Questo è un esempio molto semplice. La cartella degli esempi Ci sono molti esempi più complessi che illustrano quasi tutte le funzionalità della biblioteca.

Darerò anche alcuni link utili:

    Documentazione TCPDF in Joomla http://www.tecnick.com/public/code/cp_dpage.php?aiocp_dp\u003dtcpdf_docs

    L'articolo che ho davvero aiutato nel mio tempo e ai materiali di cui ho usato quando scrivi questo articolo

La generazione di documenti PDF è un compito giornaliero nello sviluppo web. L'elenco di tali documenti include account, spese generali, politiche e altri. Ci sono molte librerie già pronte per risolvere questo problema, incluso PHP. Ad esempio, MPDF, TCPDF e molti altri. Il file può essere raccolto utilizzando l'API di queste librerie, ma questa è una lezione piuttosto lunga. E non c'è tempo per la realizzazione del compito, non è vero? Pertanto, il più delle volte il file PDF viene creato dalla rappresentazione HTML, che è abbastanza conveniente. Ma, purtroppo, non tutto è così semplice. Questo approccio ha molte insidie \u200b\u200bin grado di portare chiunque.

Per esempio:

  • Gli stili non possono essere collegati separatamente, quindi devono essere inclusi nel documento HTML da un'unità separata o in linea per ciascun elemento. Non c'è nulla di terribile in esso, un leggero inconveniente.
  • Sfortunatamente, in tali librerie alcuni stili non possono funzionare come ti aspetti, o non funzionano in linea di principio. Questo è il principale inconveniente.
  • Dall'elemento precedente, ne consegue che la creazione di un documento è il più adatto possibile, ea volte è semplicemente impossibile.
  • E nel caso di sviluppare sotto il bitrix c'è un altro problema. Tutti sanno che la piattaforma è necessaria per installare il parametro mbstring.func_overload sul valore di 2. e per creare un file PDF contenente cirillico, il valore è 0. In genere, questo problema è risolto impostando un server Web, ma ancora spiacevole .

Di fronte ancora una volta con un tasso compito, sto pensando sempre più al fatto che la generazione di file PDF dovrebbe essere impegnata in un microsvice separato, specialmente se il progetto è grande, ma questa è una storia completamente diversa.

È tempo di passare alla parte principale di questo articolo. Oltre alle opzioni sopra proposte, c'è un'alternativa - Phantomjs.

Phantomjs è un assemblaggio di un motore Webkit senza un'interfaccia grafica che consente di scaricare una pagina Web nella modalità console, eseguire JavaScript, funziona completamente con DOM, Canvas e SVG.

Naturalmente, oltre alle funzionalità di cui sopra, consente di creare file PDF.

Come? Parlando da una lingua semplice, carica la pagina Web richiesta e consente di salvare il risultato come file PDF.

Il processo di installazione di Phantomjs è descritto in dettaglio in dettaglio nella documentazione, quindi non soffermerò su questo problema.

Un punto importante nel lavoro di Phantomjs è il file JS (di seguito config.js), che il suo contenuto determina ciò che vogliamo fare. Sul sito ufficiale ci sono molti esempi preconfezionati di tali file mediante la quale sono risolti varie attività, ad esempio, i test unitario. Tra gli esempi si sta salvando una pagina Web in formato PDF. Questo è esattamente ciò di cui abbiamo bisogno.

Un paio di piccole modifiche consentirà questo esempio per i nostri scopi.

vAR Page \u003d Richiedi ("Webpage"). Crea (), System \u003d Richiedi ("Sistema"), Indirizzo, Uscita, Dimensione; // Se ci sono pochi argomenti o troppo, viene visualizzato un messaggio utilizzando se (sistema. ARGS. Lunghezza< 3 || system . args . length > 5) (console. Log ( "Utilizzo: config.js URL Nome file"); Console. log ( "Esempi di carta (uscita PDF):" 5in * 7.5in "," 10 cm * 20cm "," A4 "," Lettera ""); Console. log ( "Immagine dell'immagine (uscita PNG / JPG):" 1920px "intera pagina, larghezza della finestra 1920px"); Console. log ( "Finestra" "800px * 600px", ritagliata a 800x600 "); Fantasma. Uscita (1); ) ALTRO ( // Argomenti di elaborazione Indirizzo \u003d sistema. args [1]; Output \u003d sistema. args [2]; Pagina. ViewPortSize \u003d (Larghezza: 800, Altezza: 800); Se (sistema. ARGS. Lunghezza\u003e 3 && System. ARGS [2]. SUSTRSTR (- 4) \u003d\u003d\u003d ".pdf") (dimensione \u003d sistema. args [3]. Passized ("*"); Page. Passize \u003d (Dimensioni. Lunghezza \u003d\u003d\u003d 2)? (Larghezza: Dimensione [0], Altezza: Dimensioni [1], Margine: "0px"): (Formato: sistema. Args [3], orientamento: "ritratto", margine : "1cm");) altrimenti (console. Log ("percorso non valido per PDF!"); Phantom. Esci (1);) se (sistema. ARGS. Lunghezza\u003e 4) (Pagina. ZoomFactor \u003d System. ARGS [4 ];) // Apertura di una pagina e salva il risultato Pagina. Apri (se (Stato! \u003d\u003d "Successo") (Console. Registro ("Impossibile caricare l'indirizzo!"); Phantom. Esci (1);) Else (finestra. Settimeout (funzione (funzione) (pagina. Output); Phantom. Esci ();), 200);))); )

$ Phantomjs Path / to / config.js "URL" Percorso / TO / PDF / file "A4"

Analizzeremo gli argomenti in ordine:

  1. Percorso per config.js.
  2. L'indirizzo della pagina Web che si desidera convertire nel file PFD.
  3. Il percorso verso il file PDF in cui verrà salvato il risultato.
  4. Formato file PDF.

Otteniamo un file PDF desiderato.

Tornando a PHP, questa soluzione è abbastanza facile da integrare nel codice.

Nel caso più semplice sembra questo:

$ Comando \u003d sprintf ("phantomjs% s% s% s% s", $ fullpathtoconfigjs, $ url, $ fullpathtosave, $ formato); Exec ($ comando);

Quindi, riassumiamo. A mio avviso, tale soluzione ha i seguenti vantaggi:

  • Pulire il layout per tale documento lontano Più facile. Questo è molto importante, perché Non solo semplifica lo sviluppo, ma non si trasforma in un incubo successivo modifiche del documento.
  • Garantisce che deve essere realizzato con mbstring.func_overload. Ma questo è indubbiamente il problema è caratteristico principalmente per Bitrix.

Naturalmente ci sono svantaggi:

  • Non il 100% di supporto per tutti gli stili CSS. Ma rispetto alle biblioteche elencate all'inizio dell'arte, tutto è molto buono.
  • Questa soluzione può spaventare lo sviluppatore dei principianti.
03.12.2015

Per generare un file PDF da HTML, utilizzeremo la libreria DOMPDF per PHP. E insieme a esso possiamo ottenere file PDF generati da alta qualità con caratteri russi.

Quindi, procedi. Per prima cosa è necessario scaricare la libreria stessa a:

O installalo tramite compositore:

Compositore richiede DOMPDF / DOMPDF

Tuttavia, vale la pena notare che l'Assembly Standard non supporta i caratteri di lingua russa. Pertanto, devi scavare Internet per molto tempo e provare, provando, provando. Per ridurre il tuo tempo, abbiamo già raccolto tutto. Di seguito, è possibile scaricare una libreria con supporto per i personaggi di lingua russa.

Se si desidera utilizzare il gruppo standard, quindi sostituire semplicemente i file da questo archivio (916 KB).

Avrai bisogno di sostituire i file nella cartella:

../dompdf/lib/fonts.

Con questo script, è possibile formare file PDF complessi con tabelle, immagini che da HTML entreranno in un file PDF.

Utilizziamo questa libreria per generare PDF con la query AJAX. Nell'archivio scaricato troverai il file index.php che elabora i dati in entrata, collega il modello in cui le immagini sono già costruite. Abbiamo scaricato per voi pienamente lavoratori e usiamo l'opzione (5 MB).

Scarica un esempio di un file PDF generato (580 KB)

Se hai scaricato la libreria, collegarlo al PHP utilizzando la connessione AutoLoader:

Require_once "dompdf / autoload.inc.php";

O usare git:

Git clone https://github.com/dompdf/dompdf.git.
cD DOMPDF.
git clone https://github.com/phenx/php-font-lib.git lib / php-font-lib
cd lib / php-font-lib
gIT CHECKOUT 0.5.1.
cd ..
git clone https://github.com/phenx/php-svg-lib.git php-svg-lib
cd php-svg-lib
git Checkout v0.3.

Il gestore stesso sembra questo:

// collega l'autoloader Autoload.inc.inc.php include; // Funzione per la pulizia del codice da dati dannosi SFURFSRTSRT ($ Data) ($ $ array1 \u003d array ("\\" "," * ","% "," 0x "," & "," \\ 0 "," \\ n "," \\ r "," \\ s "," \\ t "," \\\\ "," `", "^", "$", "(", ")", "[", "]" "(", ")", "WSS", "Blob", "localhost", "-", " Услуги Цены Создание сайта-визитки от 2 499 UAH, от 5 999 RUR (сайт-одностраничник) Создание простого сайта от 3 499 UAH, от 7 999 RUR
(наполнение до 10 страниц без оплаты) Создание интернет-магазина от 5 499 UAH, от 11 999 RUR
(наполнение до 50 товаров – без оплаты) Дополнительные услуги по согласованию с заказчиком Продление доменного имени и хостинга 599 RUR+цена хостинга+цена домена Написание уникальных статей
(не входящих в пакет услуг создания сайта) от 29 UAH, 69 RUR / 1000 символов без пробелов Поддержка сайта первые 14 дней без оплаты Поддержка сайта после 14 дней 749 UAH, 1599 RUR / 30 дней
(если производились действия) Минимальная стоимость хостинга 329 UAH, 719 RUR / 365 дней
[расположение: RU, DE, UA] Минимальная стоимость доменного имени 169 UAH, 399 RUR / 365 дней Подбор доменного имени даром "; //склеиваем все данные $html=$table_one_head.$table.$table_one_down; // если в таблице есть нечитаемые для PDF скрипта символы, то заменяем их на читаемые $html=str_replace("₽","рос. руб.", $html); //убираем пробелы HTML $html=str_replace(" "," ", $html); //генерируем имя файла с уникальным ключем $name=date("Y-m-d-H-i-s").uniqid().".pdf"; //обрабатываем данные с помощью библиотеки DOMPDF $d->loadHtml($html); //устанавливаем ориентацию листа portrait || landscape $d->setPaper("A4","portrait"); //отображаем готовый PDF $d->render(); //записываем PDF в файл file_put_contents(getenv("DOCUMENT_ROOT")."/pdf/{$name}", $d->output()); //можно отправить ответ после AJAX Запроса с ссылкой на файл. у на //echo "

Скачать файл
";

Используемые библиотеки:

  • PDF Rendering
    • CPDF (included with dompdf)
    • PDFLib
  • Font handling if using fonts other than the core PDF fonts (courier, helvetica, times)
    • 0.5.x
  • Document parsing
    • html5lib (included with dompdf)
  • SVG rendering
    • 0.3.x for SVG support

Системные и иные требования:

  • PHP version 5.4.0 or higher
  • DOM extension
  • GD extension
  • MBString extension
  • php-font-lib
  • php-svg-lib

Поддержка:

  • CSS 2.1 и некоторые CSS3 свойства, такие как: @import, @media & @page правила
  • HTML 4.0
  • Внешних стилей http/ftp (с fopen-запросами)
  • tables, вместе с параметрами строк и ячеек, отступов и других стилей для тиблиц
  • изображений (gif, png (8, 24 and 32 bit with alpha channel), bmp & jpeg)
  • простых SVG

PDF24 Creator, это бесплатный PDF генератор для вашего ПК. Генерация PDF файлов невероятно простая задача с этой программой. Комбинация дополнительных возможностей вместе с созданием PDF файлов, делает этот инструмент одной из самых признанных бесплатных программ. В качестве альтернативы вы также можете генерировать PDF онлайн. Прочтите ниже как это работает.

PDF24 Creator – бесплатный PDF генератор

PDF24 Creator, это бесплатный PDF генератор для Windows. Генерация PDF файлов реализована с помощью PDF принтера. После установки в вашей Windows появится новый виртуальный PDF принтер. Просто печатайте через этот принтер все, что хотите превратить в PDF. PDF принтер, это единственный путь создания PDF. Программа включает в себя широкий диапазон возможностей, которые помогут вам в генерации PDF. Эта программа бесплатна. Вы можете скачать свежую версию с этого сайта.

PDF24 Онлайн PDF Генератор – Генерация PDF файлов онлайн

Онлайн PDF Генератор, это полезный инструмент, если вы хотите преобразовать документы в PDF формат. Просто выберите документ или отправьте документ по почте в Онлайн PDF Генератор и через несколько секунд ваш PDF файл будет доступен для скачивания или отправлен вам обратно.

Email интерфейс для этого PDF генератора также доступен. Нужно отправить файлы генератору и дождаться ответного письма, в котором будут файлы, сконвертированные в PDF

Множество других PDF генераторов в инструментарии PDF24

Онлайн утилиты от PDF24 решают многие проблемы, связанные с PDF, достаточно просто, быстро и бесплатно. Многие из этих инструментов генерируют PDF файлы. Вы ещё не знакомы с онлайн утилитами PDF24? Взгляните, вы сможете использовать все эти инструменты.

La campana.

Ci sono quelli che hanno letto questa notizia prima di te.
Iscriviti per ricevere articoli freschi.
E-mail
Nome
Cognome
Come vuoi leggere la campana
Senza spam