1644340980
El formato de documento portátil, comúnmente conocido como PDF, es uno de los formatos de documentos más populares. Los archivos PDF son populares porque:
A pesar de la popularidad de los documentos PDF, el ecosistema de JavaScript carece de un soporte sólido para la manipulación de PDF. Uno de los paquetes relativamente nuevos, populares y ricos en funciones que puede usar para administrar documentos PDF es pdf-lib
.
El pdf-lib
paquete puede ejecutarse en Node, Deno, React Native y Browser. Este artículo lo guiará en la administración de documentos PDF en el entorno de tiempo de ejecución de Node usando pdf-lib
.
pdf-lib
?Pdf-lib
es un paquete de terceros que se ejecuta en Node.js, Deno, React Native y el navegador. Las características que lo hacen pdf-lib
mejor que la mayoría de los otros paquetes de JavaScript similares incluyen:
Es relativamente popular en GitHub con más de 3500 estrellas. Veremos algunas de sus características notables en la siguiente sección.
pdf-lib
paqueteComo se mencionó en las secciones anteriores, pdf-lib
es uno de los paquetes ricos en funciones en el ecosistema de JavaScript para administrar documentos PDF. Implementaremos sus características principales en las subsecciones a continuación.
Dado que este es un paquete de terceros, deberá instalarlo desde el registro del paquete npm de la siguiente manera:
# Con npm npm install pdf-lib # Con yarn yarn agregar pdf-lib
Si inicializó un proyecto de Node y lo instaló pdf-lib
usando uno de los comandos anteriores, siga las subsecciones a continuación para implementar algunas de sus funciones principales. Es compatible con los módulos CommonJS y ES .
Usaremos la sintaxis de CommonJS a lo largo de este artículo. Los ejemplos deberían funcionar si cambia a la sintaxis ESM.
Antes de profundizar en el pdf-lib
paquete, permítanos probarlo creando un documento en blanco simple usando el código a continuación. Es una de las características básicas.
const { PDFDocument } = require("pdf-lib");
const { writeFileSync } = require("fs");
async function createPDF() {
const PDFdoc = await PDFDocument.create();
const page = PDFdoc.addPage([300, 400]);
writeFileSync("blank.pdf", await PDFdoc.save());
}
createPDF().catch((err) => console.log(err));
La PDFDocument
clase tiene la mayoría de los métodos y propiedades que necesitará para la manipulación de documentos. Después de importarlo, puede usar el create
método para crear un documento.
En el ejemplo anterior, pasamos las dimensiones de la página como una matriz de enteros al addPage
método. El addPage
método también toma otros tipos de parámetros, sobre los que puede leer en la pdf-lib
documentación.
Después de ejecutar el código anterior, verá un blank.pdf
archivo.
Un documento PDF en blanco no es útil sin algo de texto. Agreguemos un simple texto de "hola mundo" al documento que acabamos de crear.
El siguiente código es una ilustración de cómo puede agregar texto a un documento PDF. Agrega un texto simple de "hola mundo" al documento PDF en blanco que creamos en la subsección anterior. Por lo general, agrega texto usando el drawText
método. Se necesitan hasta dos argumentos.
El primer argumento es el texto que desea agregar y el segundo argumento es un objeto, que toma varias propiedades que puede consultar en la pdf-lib
documentación. De momento, pasaremos las propiedades x
y y
para posicionar el texto. Por defecto, pdf-lib
coloca el texto en la esquina inferior izquierda.
El pdf-lib
paquete viene con un par de fuentes estándar integradas. En este ejemplo, utilizaremos la fuente Helvetica integrada. También usaremos propiedades integradas para calcular el ancho y la altura del texto, que necesitamos para centrar el texto:
const { PDFDocument, StandardFonts } = require("pdf-lib");
const { writeFileSync } = require("fs");
async function createPDF() {
const document = await PDFDocument.create();
const page = document.addPage([300, 400]);
const text = "Hello World";
const helveticaFont = await document.embedFont(StandardFonts.Helvetica);
const textWidth = helveticaFont.widthOfTextAtSize(text, 24);
const textHeight = helveticaFont.heightAtSize(24);
page.drawText(text, {
x: page.getWidth() / 2 - textWidth / 2,
y: page.getHeight() / 2 - textHeight / 2,
});
writeFileSync("hello.pdf", await document.save());
}
createPDF().catch((err) => console.log(err));
Cuando ejecute el código anterior, creará un hello.pdf
archivo con el texto "Hello World" en el centro. Si cambia los valores de x
y y
, la posición del texto también cambiará.
Como ya se mencionó, x
y y
no son las únicas propiedades del objeto que le pasas al drawText
método. También puede incluir propiedades como color
, opacity
, font
y rotate
.
El pdf-lib
paquete puede modificar documentos PDF existentes. Usaremos el readFileSync
método del fs
módulo para leer el archivo en la memoria. Vale la pena mencionar que readFileSync
devuelve un búfer si no pasa el encoding
argumento.
La siguiente imagen muestra un documento PDF simple que vamos a modificar.
Usemos el siguiente código para modificar la letra anterior. Añadiremos la fecha actual, el nombre del destinatario y el nombre del autor:
const { PDFDocument, StandardFonts, rgb } = require("pdf-lib");
const { writeFileSync, readFileSync } = require("fs");
async function createPDF() {
const document = await PDFDocument.load(readFileSync("./letter.pdf"));
const courierBoldFont = await document.embedFont(StandardFonts.Courier);
const firstPage = document.getPage(0);
firstPage.moveTo(72, 570);
firstPage.drawText(new Date().toUTCString(), {
font: courierBoldFont,
size: 12,
});
firstPage.moveTo(105, 530);
firstPage.drawText("Ms. Jane,", {
font: courierBoldFont,
size: 12,
});
firstPage.moveTo(72, 330);
firstPage.drawText("John Doe \nSr. Vice President Engineering \nLogRocket", {
font: courierBoldFont,
size: 12,
lineHeight: 10,
});
writeFileSync("jane-doe.pdf", await document.save());
}
createPDF().catch((err) => console.log(err));
El código anterior modificará el documento PDF anterior para parecerse a la imagen de abajo. Agrega la fecha, la persona a la que se dirige la carta y el autor de la carta. Asegúrese de tener el letter.pdf
archivo en el mismo directorio.
Puede utilizar esta función para modificar el contenido de un documento de forma dinámica. Como en el ejemplo anterior, puede tener una carta con el mismo contenido, pero desea dirigirla a diferentes personas. Puede consultar su base de datos y modificar el documento dinámicamente como lo hicimos nosotros.
Desafortunadamente, como se ilustra arriba, necesita obtener la ubicación exacta en el documento para agregar el texto.
El pdf-lib
paquete viene con la funcionalidad que puede usar para fusionar documentos PDF. Tenemos un documento PDF de dos páginas en la imagen de abajo. Le adjuntaremos el documento que creamos en el subapartado anterior.
En el código a continuación, agregamos la carta de Jane Doe al resto de las cartas. Estamos leyendo ambos documentos PDF desde archivos. También puede obtener los documentos de un servidor a través de un cliente HTTP:
const { PDFDocument } = require("pdf-lib");
const { writeFileSync, readFileSync } = require("fs");
async function appendPDF() {
const janeDoe = await PDFDocument.load(readFileSync("./jane-doe.pdf"));
const letters = await PDFDocument.load(readFileSync("./letters.pdf"));
const pagesArray = await letters.copyPages(janeDoe, janeDoe.getPageIndices());
for (const page of pagesArray) {
letters.addPage(page);
}
writeFileSync("all-letters.pdf", await letters.save());
}
appendPDF().catch((err) => console.log(err));
El copyPages
método devuelve una matriz de páginas. En el ejemplo anterior, estamos recorriendo la matriz y agregando páginas al documento dentro del ciclo. Si está agregando una sola página, puede hacerlo sin recorrer la matriz. En su lugar, puede reemplazar el bucle con el siguiente código:
letters.addPage(pagesArray[0]);
Ejecutar el código anterior creará el all-letters.pdf
archivo con la carta de Jane Doe adjunta al resto de las cartas. Si desea fusionar varios documentos PDF, esta función puede ser muy útil. Por ejemplo, si tiene capítulos de libros en diferentes archivos PDF, puede fusionarlos usando unas pocas líneas de código.
En lugar de agregar páginas al final de un documento, es posible que desee insertarlas entre dos páginas. En ese caso, tendrás que usar el insertPage
método. El siguiente código es una modificación del código anterior para insertar una página en un índice específico. El índice que pase al insertPage
método debe estar basado en cero:
const { PDFDocument } = require("pdf-lib");
const { writeFileSync, readFileSync } = require("fs");
async function insertPage() {
const janeDoe = await PDFDocument.load(readFileSync("./jane-doe.pdf"));
const letters = await PDFDocument.load(readFileSync("./letters.pdf"));
const pagesArray = await letters.copyPages(janeDoe, janeDoe.getPageIndices());
letters.insertPage(1, pagesArray[0]);
writeFileSync("insert-page.pdf", await letters.save());
}
insertPage().catch((err) => console.log(err));
En lugar de agregar páginas a un documento como hicimos en las subsecciones anteriores, es posible que desee eliminar páginas. Puede hacerlo utilizando el removePage
método, que toma el índice de la página que desea eliminar. Obtendrá un error si pasa un índice que está fuera de rango.
El siguiente código es una ilustración de cómo usar el removePage
método. Carga el documento en la memoria, elimina la página en un índice específico y escribe el documento modificado en el archivo:
const { PDFDocument } = require("pdf-lib");
const { writeFileSync, readFileSync } = require("fs");
async function removePage() {
const letters = await PDFDocument.load(readFileSync("./insert-page.pdf"));
letters.removePage(1);
writeFileSync("remove-page.pdf", await letters.save());
}
removePage().catch((err) => console.log(err));
Ejecutar el código anterior eliminará la página que agregamos en la subsección anterior.
Ilustro cómo agregar una imagen a un documento PDF en el siguiente código. Antes de ejecutarlo, asegúrese de tener el cat.jpg
archivo en el mismo directorio. También puede pasar la ruta de la imagen al readFileSync
método si tiene la intención de usar una imagen diferente:
const { PDFDocument } = require("pdf-lib");
const fs = require("fs");
async function createPDFDocument() {
const document = await PDFDocument.create();
const page = document.addPage([300, 400]);
const imgBuffer = fs.readFileSync("./cat.jpg");
const img = await document.embedJpg(imgBuffer);
const { width, height } = img.scale(1);
page.drawImage(img, {
x: page.getWidth() / 2 - width / 2,
y: page.getHeight() / 2 - height / 2,
});
fs.writeFileSync("./image.pdf", await document.save());
}
createPDFDocument().catch((err) => console.log(err));
El código anterior creará un image.pdf
archivo que se parece a la imagen de abajo. Agregará la imagen en el centro de la página.
Los documentos PDF suelen tener metadatos que proporcionan información adicional sobre el documento. Los metadatos, entre otros, comprenden el título del documento, el autor, la fecha de creación y la información de derechos de autor.
El siguiente código ilustra cómo configurar y recuperar metadatos para un documento PDF:
const { PDFDocument } = require("pdf-lib");
const { readFileSync } = require("fs");
async function removePage() {
const PDFdoc = await PDFDocument.load(readFileSync("./jane-doe.pdf"), {
updateMetadata: false,
});
PDFdoc.setTitle("Letter");
PDFdoc.setAuthor("Jane Doe");
PDFdoc.setSubject("pdf-lib example");
PDFdoc.setCreationDate(new Date());
PDFdoc.setModificationDate(new Date());
console.log(`Title: ${PDFdoc.getTitle()}`);
console.log(`Author: ${PDFdoc.getAuthor()}`);
console.log(`Subject: ${PDFdoc.getSubject()}`);
console.log(`Creation Date: ${PDFdoc.getCreationDate()}`);
console.log(`Modification date: ${PDFdoc.getModificationDate()}`);
}
removePage().catch((err) => console.log(err));
Con suerte, ha aprendido a crear y manipular documentos PDF en el entorno de tiempo de ejecución de Node utilizando pdf-lib
. Lo pdf-lib
más probable es que el paquete satisfaga sus necesidades básicas de manipulación de documentos PDF. Tiene más características que las que hemos cubierto en este artículo.
Puedes consultar la documentación si anhelas más. Algunas características pdf-lib
que no hemos cubierto aquí incluyen incrustar documentos PDF, crear formularios y dibujar rutas SVG.
A pesar de las características destacadas anteriormente, pdf-lib
tiene sus limitaciones. Los notables incluyen la falta de soporte para manipular documentos encriptados y agregar contenido HTML y CSS. Un intento de cargar un documento cifrado generará un error.
Nuestro enfoque en este artículo es ejecutar pdf-lib
en el entorno de tiempo de ejecución de Node. También puede ejecutarlo en otros entornos de JavaScript como Deno, React Native y el navegador sin modificar significativamente su código fuente.
Enlace: https://blog.logrocket.com/managing-pdfs-node-pdf-lib/
1605178229
In this video I will be showing you how to create PDF files using Node.js
#pdf kit #node.js #pdfkit #pdf #pdf in node.js #pdf generation
1594369800
SQL stands for Structured Query Language. SQL is a scripting language expected to store, control, and inquiry information put away in social databases. The main manifestation of SQL showed up in 1974, when a gathering in IBM built up the principal model of a social database. The primary business social database was discharged by Relational Software later turning out to be Oracle.
Models for SQL exist. In any case, the SQL that can be utilized on every last one of the major RDBMS today is in various flavors. This is because of two reasons:
1. The SQL order standard is genuinely intricate, and it isn’t handy to actualize the whole standard.
2. Every database seller needs an approach to separate its item from others.
Right now, contrasts are noted where fitting.
#programming books #beginning sql pdf #commands sql #download free sql full book pdf #introduction to sql pdf #introduction to sql ppt #introduction to sql #practical sql pdf #sql commands pdf with examples free download #sql commands #sql free bool download #sql guide #sql language #sql pdf #sql ppt #sql programming language #sql tutorial for beginners #sql tutorial pdf #sql #structured query language pdf #structured query language ppt #structured query language
1644340980
El formato de documento portátil, comúnmente conocido como PDF, es uno de los formatos de documentos más populares. Los archivos PDF son populares porque:
A pesar de la popularidad de los documentos PDF, el ecosistema de JavaScript carece de un soporte sólido para la manipulación de PDF. Uno de los paquetes relativamente nuevos, populares y ricos en funciones que puede usar para administrar documentos PDF es pdf-lib
.
El pdf-lib
paquete puede ejecutarse en Node, Deno, React Native y Browser. Este artículo lo guiará en la administración de documentos PDF en el entorno de tiempo de ejecución de Node usando pdf-lib
.
pdf-lib
?Pdf-lib
es un paquete de terceros que se ejecuta en Node.js, Deno, React Native y el navegador. Las características que lo hacen pdf-lib
mejor que la mayoría de los otros paquetes de JavaScript similares incluyen:
Es relativamente popular en GitHub con más de 3500 estrellas. Veremos algunas de sus características notables en la siguiente sección.
pdf-lib
paqueteComo se mencionó en las secciones anteriores, pdf-lib
es uno de los paquetes ricos en funciones en el ecosistema de JavaScript para administrar documentos PDF. Implementaremos sus características principales en las subsecciones a continuación.
Dado que este es un paquete de terceros, deberá instalarlo desde el registro del paquete npm de la siguiente manera:
# Con npm npm install pdf-lib # Con yarn yarn agregar pdf-lib
Si inicializó un proyecto de Node y lo instaló pdf-lib
usando uno de los comandos anteriores, siga las subsecciones a continuación para implementar algunas de sus funciones principales. Es compatible con los módulos CommonJS y ES .
Usaremos la sintaxis de CommonJS a lo largo de este artículo. Los ejemplos deberían funcionar si cambia a la sintaxis ESM.
Antes de profundizar en el pdf-lib
paquete, permítanos probarlo creando un documento en blanco simple usando el código a continuación. Es una de las características básicas.
const { PDFDocument } = require("pdf-lib");
const { writeFileSync } = require("fs");
async function createPDF() {
const PDFdoc = await PDFDocument.create();
const page = PDFdoc.addPage([300, 400]);
writeFileSync("blank.pdf", await PDFdoc.save());
}
createPDF().catch((err) => console.log(err));
La PDFDocument
clase tiene la mayoría de los métodos y propiedades que necesitará para la manipulación de documentos. Después de importarlo, puede usar el create
método para crear un documento.
En el ejemplo anterior, pasamos las dimensiones de la página como una matriz de enteros al addPage
método. El addPage
método también toma otros tipos de parámetros, sobre los que puede leer en la pdf-lib
documentación.
Después de ejecutar el código anterior, verá un blank.pdf
archivo.
Un documento PDF en blanco no es útil sin algo de texto. Agreguemos un simple texto de "hola mundo" al documento que acabamos de crear.
El siguiente código es una ilustración de cómo puede agregar texto a un documento PDF. Agrega un texto simple de "hola mundo" al documento PDF en blanco que creamos en la subsección anterior. Por lo general, agrega texto usando el drawText
método. Se necesitan hasta dos argumentos.
El primer argumento es el texto que desea agregar y el segundo argumento es un objeto, que toma varias propiedades que puede consultar en la pdf-lib
documentación. De momento, pasaremos las propiedades x
y y
para posicionar el texto. Por defecto, pdf-lib
coloca el texto en la esquina inferior izquierda.
El pdf-lib
paquete viene con un par de fuentes estándar integradas. En este ejemplo, utilizaremos la fuente Helvetica integrada. También usaremos propiedades integradas para calcular el ancho y la altura del texto, que necesitamos para centrar el texto:
const { PDFDocument, StandardFonts } = require("pdf-lib");
const { writeFileSync } = require("fs");
async function createPDF() {
const document = await PDFDocument.create();
const page = document.addPage([300, 400]);
const text = "Hello World";
const helveticaFont = await document.embedFont(StandardFonts.Helvetica);
const textWidth = helveticaFont.widthOfTextAtSize(text, 24);
const textHeight = helveticaFont.heightAtSize(24);
page.drawText(text, {
x: page.getWidth() / 2 - textWidth / 2,
y: page.getHeight() / 2 - textHeight / 2,
});
writeFileSync("hello.pdf", await document.save());
}
createPDF().catch((err) => console.log(err));
Cuando ejecute el código anterior, creará un hello.pdf
archivo con el texto "Hello World" en el centro. Si cambia los valores de x
y y
, la posición del texto también cambiará.
Como ya se mencionó, x
y y
no son las únicas propiedades del objeto que le pasas al drawText
método. También puede incluir propiedades como color
, opacity
, font
y rotate
.
El pdf-lib
paquete puede modificar documentos PDF existentes. Usaremos el readFileSync
método del fs
módulo para leer el archivo en la memoria. Vale la pena mencionar que readFileSync
devuelve un búfer si no pasa el encoding
argumento.
La siguiente imagen muestra un documento PDF simple que vamos a modificar.
Usemos el siguiente código para modificar la letra anterior. Añadiremos la fecha actual, el nombre del destinatario y el nombre del autor:
const { PDFDocument, StandardFonts, rgb } = require("pdf-lib");
const { writeFileSync, readFileSync } = require("fs");
async function createPDF() {
const document = await PDFDocument.load(readFileSync("./letter.pdf"));
const courierBoldFont = await document.embedFont(StandardFonts.Courier);
const firstPage = document.getPage(0);
firstPage.moveTo(72, 570);
firstPage.drawText(new Date().toUTCString(), {
font: courierBoldFont,
size: 12,
});
firstPage.moveTo(105, 530);
firstPage.drawText("Ms. Jane,", {
font: courierBoldFont,
size: 12,
});
firstPage.moveTo(72, 330);
firstPage.drawText("John Doe \nSr. Vice President Engineering \nLogRocket", {
font: courierBoldFont,
size: 12,
lineHeight: 10,
});
writeFileSync("jane-doe.pdf", await document.save());
}
createPDF().catch((err) => console.log(err));
El código anterior modificará el documento PDF anterior para parecerse a la imagen de abajo. Agrega la fecha, la persona a la que se dirige la carta y el autor de la carta. Asegúrese de tener el letter.pdf
archivo en el mismo directorio.
Puede utilizar esta función para modificar el contenido de un documento de forma dinámica. Como en el ejemplo anterior, puede tener una carta con el mismo contenido, pero desea dirigirla a diferentes personas. Puede consultar su base de datos y modificar el documento dinámicamente como lo hicimos nosotros.
Desafortunadamente, como se ilustra arriba, necesita obtener la ubicación exacta en el documento para agregar el texto.
El pdf-lib
paquete viene con la funcionalidad que puede usar para fusionar documentos PDF. Tenemos un documento PDF de dos páginas en la imagen de abajo. Le adjuntaremos el documento que creamos en el subapartado anterior.
En el código a continuación, agregamos la carta de Jane Doe al resto de las cartas. Estamos leyendo ambos documentos PDF desde archivos. También puede obtener los documentos de un servidor a través de un cliente HTTP:
const { PDFDocument } = require("pdf-lib");
const { writeFileSync, readFileSync } = require("fs");
async function appendPDF() {
const janeDoe = await PDFDocument.load(readFileSync("./jane-doe.pdf"));
const letters = await PDFDocument.load(readFileSync("./letters.pdf"));
const pagesArray = await letters.copyPages(janeDoe, janeDoe.getPageIndices());
for (const page of pagesArray) {
letters.addPage(page);
}
writeFileSync("all-letters.pdf", await letters.save());
}
appendPDF().catch((err) => console.log(err));
El copyPages
método devuelve una matriz de páginas. En el ejemplo anterior, estamos recorriendo la matriz y agregando páginas al documento dentro del ciclo. Si está agregando una sola página, puede hacerlo sin recorrer la matriz. En su lugar, puede reemplazar el bucle con el siguiente código:
letters.addPage(pagesArray[0]);
Ejecutar el código anterior creará el all-letters.pdf
archivo con la carta de Jane Doe adjunta al resto de las cartas. Si desea fusionar varios documentos PDF, esta función puede ser muy útil. Por ejemplo, si tiene capítulos de libros en diferentes archivos PDF, puede fusionarlos usando unas pocas líneas de código.
En lugar de agregar páginas al final de un documento, es posible que desee insertarlas entre dos páginas. En ese caso, tendrás que usar el insertPage
método. El siguiente código es una modificación del código anterior para insertar una página en un índice específico. El índice que pase al insertPage
método debe estar basado en cero:
const { PDFDocument } = require("pdf-lib");
const { writeFileSync, readFileSync } = require("fs");
async function insertPage() {
const janeDoe = await PDFDocument.load(readFileSync("./jane-doe.pdf"));
const letters = await PDFDocument.load(readFileSync("./letters.pdf"));
const pagesArray = await letters.copyPages(janeDoe, janeDoe.getPageIndices());
letters.insertPage(1, pagesArray[0]);
writeFileSync("insert-page.pdf", await letters.save());
}
insertPage().catch((err) => console.log(err));
En lugar de agregar páginas a un documento como hicimos en las subsecciones anteriores, es posible que desee eliminar páginas. Puede hacerlo utilizando el removePage
método, que toma el índice de la página que desea eliminar. Obtendrá un error si pasa un índice que está fuera de rango.
El siguiente código es una ilustración de cómo usar el removePage
método. Carga el documento en la memoria, elimina la página en un índice específico y escribe el documento modificado en el archivo:
const { PDFDocument } = require("pdf-lib");
const { writeFileSync, readFileSync } = require("fs");
async function removePage() {
const letters = await PDFDocument.load(readFileSync("./insert-page.pdf"));
letters.removePage(1);
writeFileSync("remove-page.pdf", await letters.save());
}
removePage().catch((err) => console.log(err));
Ejecutar el código anterior eliminará la página que agregamos en la subsección anterior.
Ilustro cómo agregar una imagen a un documento PDF en el siguiente código. Antes de ejecutarlo, asegúrese de tener el cat.jpg
archivo en el mismo directorio. También puede pasar la ruta de la imagen al readFileSync
método si tiene la intención de usar una imagen diferente:
const { PDFDocument } = require("pdf-lib");
const fs = require("fs");
async function createPDFDocument() {
const document = await PDFDocument.create();
const page = document.addPage([300, 400]);
const imgBuffer = fs.readFileSync("./cat.jpg");
const img = await document.embedJpg(imgBuffer);
const { width, height } = img.scale(1);
page.drawImage(img, {
x: page.getWidth() / 2 - width / 2,
y: page.getHeight() / 2 - height / 2,
});
fs.writeFileSync("./image.pdf", await document.save());
}
createPDFDocument().catch((err) => console.log(err));
El código anterior creará un image.pdf
archivo que se parece a la imagen de abajo. Agregará la imagen en el centro de la página.
Los documentos PDF suelen tener metadatos que proporcionan información adicional sobre el documento. Los metadatos, entre otros, comprenden el título del documento, el autor, la fecha de creación y la información de derechos de autor.
El siguiente código ilustra cómo configurar y recuperar metadatos para un documento PDF:
const { PDFDocument } = require("pdf-lib");
const { readFileSync } = require("fs");
async function removePage() {
const PDFdoc = await PDFDocument.load(readFileSync("./jane-doe.pdf"), {
updateMetadata: false,
});
PDFdoc.setTitle("Letter");
PDFdoc.setAuthor("Jane Doe");
PDFdoc.setSubject("pdf-lib example");
PDFdoc.setCreationDate(new Date());
PDFdoc.setModificationDate(new Date());
console.log(`Title: ${PDFdoc.getTitle()}`);
console.log(`Author: ${PDFdoc.getAuthor()}`);
console.log(`Subject: ${PDFdoc.getSubject()}`);
console.log(`Creation Date: ${PDFdoc.getCreationDate()}`);
console.log(`Modification date: ${PDFdoc.getModificationDate()}`);
}
removePage().catch((err) => console.log(err));
Con suerte, ha aprendido a crear y manipular documentos PDF en el entorno de tiempo de ejecución de Node utilizando pdf-lib
. Lo pdf-lib
más probable es que el paquete satisfaga sus necesidades básicas de manipulación de documentos PDF. Tiene más características que las que hemos cubierto en este artículo.
Puedes consultar la documentación si anhelas más. Algunas características pdf-lib
que no hemos cubierto aquí incluyen incrustar documentos PDF, crear formularios y dibujar rutas SVG.
A pesar de las características destacadas anteriormente, pdf-lib
tiene sus limitaciones. Los notables incluyen la falta de soporte para manipular documentos encriptados y agregar contenido HTML y CSS. Un intento de cargar un documento cifrado generará un error.
Nuestro enfoque en este artículo es ejecutar pdf-lib
en el entorno de tiempo de ejecución de Node. También puede ejecutarlo en otros entornos de JavaScript como Deno, React Native y el navegador sin modificar significativamente su código fuente.
Enlace: https://blog.logrocket.com/managing-pdfs-node-pdf-lib/
1605177921
#javascript #node.js #generate pdf using javascript #intermediate #node pdf #pdf
1616671994
If you look at the backend technology used by today’s most popular apps there is one thing you would find common among them and that is the use of NodeJS Framework. Yes, the NodeJS framework is that effective and successful.
If you wish to have a strong backend for efficient app performance then have NodeJS at the backend.
WebClues Infotech offers different levels of experienced and expert professionals for your app development needs. So hire a dedicated NodeJS developer from WebClues Infotech with your experience requirement and expertise.
So what are you waiting for? Get your app developed with strong performance parameters from WebClues Infotech
For inquiry click here: https://www.webcluesinfotech.com/hire-nodejs-developer/
Book Free Interview: https://bit.ly/3dDShFg
#hire dedicated node.js developers #hire node.js developers #hire top dedicated node.js developers #hire node.js developers in usa & india #hire node js development company #hire the best node.js developers & programmers