Pruebas en un entorno real
Pruebe en producción sin marcas de agua.
Funciona donde lo necesites.
En el desarrollo de software moderno, mantener un estilo de codificación limpio y coherente es crucial tanto para la legibilidad y la colaboración como para la facilidad de mantenimiento. Herramientas comoMás bonito las herramientas de formateo de código de TypeScript, con un icono de TypeScript que indica las declaraciones de tipo incorporadas, han surgido como ayudas indispensables en este empeño, automatizando la tarea, a menudo tediosa, de formatear el código. En este artículo, nos adentramos en los entresijos de Prettier, explorando sus características, ventajas, integraciones y mejores prácticas. Además, examinaremos laIronPDFBiblioteca de generación de PDF para generar PDF a partir de URL de sitios web.
Prettier es un formateador de código opinable que ajusta automáticamente el estilo y el formato de su código de acuerdo con reglas predefinidas, como la longitud máxima de línea. Es compatible con varios lenguajes de programación, como JavaScript, TypeScript, HTML, CSS y JSON, entre otros, por lo que es versátil en diferentes pilas tecnológicas y tipos de proyectos. Desarrollado originalmente por James Long, Prettier se ha ganado una gran aceptación en la comunidad de desarrolladores por sus sólidas capacidades y facilidad de uso.
Estilo de código coherente: Prettier impone un estilo de codificación coherente en toda su base de código, lo que elimina los debates sobre las preferencias de formato y garantiza la uniformidad en la apariencia del código, lo que ayuda a acelerar el proceso de revisión del código.
Configurabilidad: Aunque Prettier es opinático por defecto, ofrece cierto grado de configurabilidad para ajustar ciertas reglas de formato a los requisitos específicos del proyecto. El usuario puede configurar sus propias reglas.
Para empezar a utilizar Prettier en sus proyectos, puede instalarlo a través de NPM o yarn:
npm install prettier --save-dev
npm install prettier --save-dev
'INSTANT VB TODO TASK: The following line uses invalid syntax:
'npm install prettier --save-dev
o
yarn add --dev prettier // installs latest version
yarn add --dev prettier // installs latest version
'INSTANT VB TODO TASK: The following line uses invalid syntax:
'yarn add --dev prettier ' installs latest version
Prettier se integra a la perfección con varias herramientas de desarrollo y flujos de trabajo, lo que aumenta su utilidad y adopción entre los desarrolladores:
Para aprovechar al máximo las ventajas de Prettier y garantizar una integración sin problemas en su flujo de trabajo de desarrollo, tenga en cuenta las siguientes prácticas recomendadas:
IronPDF es una conocida biblioteca de generación de PDF que se utiliza para generar, editar y convertir documentos PDF. El paquete NPM IronPDF está diseñado específicamente para aplicaciones Node.js. Estas son algunas de las principales características y detalles del paquete NPM IronPDF:
Convierta contenidos HTML en documentos PDF sin esfuerzo. Esta función es especialmente útil para generar PDF dinámicos a partir de contenidos web.
Genere archivos PDF directamente a partir de URL, lo que le permitirá capturar el contenido de páginas web y guardarlo como archivos PDF mediante programación.
Fusione, divida y manipule documentos PDF existentes con facilidad. IronPDF ofrece funciones como añadir páginas, dividir documentos, etc.
Proteja sus documentos PDF cifrándolos con contraseñas o aplicando firmas digitales. IronPDF ofrece opciones para proteger sus documentos confidenciales del acceso no autorizado.
Produzca documentos PDF de alta calidad con una representación precisa del texto, las imágenes y el formato. IronPDF garantiza que los PDF generados mantengan la fidelidad al contenido original.
IronPDF es compatible con varias plataformas, como Windows, Linux y macOS, lo que lo hace apto para una amplia gama de entornos de desarrollo.
Integre fácilmente IronPDF en sus aplicaciones Node.js utilizando su paquete npm. La API está bien documentada, lo que facilita la incorporación de funciones de generación de PDF a sus proyectos.
Para instalar el paquete IronPDF NPM, utilice el siguiente comando:
yarn add @ironsoftware/ironpdf @ironsoftware/ironpdf-engine-windows-x64
yarn add @ironsoftware/ironpdf @ironsoftware/ironpdf-engine-windows-x64
IRON VB CONVERTER ERROR developers@ironsoftware.com
Instalar dependencias: Primero, crea un nuevo proyecto Next.js(si aún no lo ha hecho) utilizando el siguiente comando: Consulteaquí.
npx create-next-app@latest prettier-pdf --use-npm --example "https://github.com/vercel/next-learn/tree/main/basics/learn-starter"
npx create-next-app@latest prettier-pdf --use-npm --example "https://github.com/vercel/next-learn/tree/main/basics/learn-starter"
'INSTANT VB TODO TASK: The following line uses invalid syntax:
'npx create-@next-app@latest prettier-pdf --use-npm --example "https://github.com/vercel/next-learn/tree/main/basics/learn-starter"
A continuación, vaya al directorio de su proyecto:
cd prettier-pdf
cd prettier-pdf
'INSTANT VB TODO TASK: The following line uses invalid syntax:
'cd prettier-pdf
Instale los paquetes necesarios:
yarn add @ironsoftware/ironpdf @ironsoftware/ironpdf-engine-windows-x64
yarn add -D prettier
yarn add @ironsoftware/ironpdf @ironsoftware/ironpdf-engine-windows-x64
yarn add -D prettier
'INSTANT VB TODO TASK: The following line uses invalid syntax:
'yarn add @ironsoftware/ironpdf @ironsoftware/ironpdf-engine-windows-x64 yarn add -D prettier
Cree un archivo de configuración vacío para que los editores y otras herramientas sepan que está utilizando Prettier:
node --eval "fs.writeFileSync('.prettierrc','{}\n')"
node --eval "fs.writeFileSync('.prettierrc','{}\n')"
'INSTANT VB TODO TASK: The following line uses invalid syntax:
'node --eval "fs.writeFileSync('.prettierrc','{}" + vbLf + "')"
Crear un.prettierignore la traducción debe incluir un archivo que permita al CLI y a los editores de Prettier saber qué archivos no formatear. A continuación se muestra un ejemplo:
# Ignore artifacts:
build
coverage
# Ignore all HTML files:
**/*.html
# Ignore artifacts:
build
coverage
# Ignore all HTML files:
**/*.html
#Ignore artifacts:
#Ignore all HTML files:
'INSTANT VB TODO TASK: The following line uses invalid syntax:
'build coverage **/ *.html
Ahora, vamos a crear un ejemplo sencillo de generación de un PDF utilizando IronPDF.
API de generación de PDF: El primer paso es crear una API backend para generar el documento PDF. Dado que IronPDF sólo se ejecuta del lado del servidor, necesitamos crear una API a la que llamar cuando un usuario quiera generar un PDF. Crea un archivo en la ruta pages/api/pdf.js y añade el siguiente contenido.
IronPDF requiere una clave de licencia, que puede obtener en la páginapágina de licencia y colócalo en el siguiente código.
// pages/api/pdf.js
import {IronPdfGlobalConfig, PdfDocument} from "@ironsoftware/ironpdf";
// Apply your IronPDF license key
IronPdfGlobalConfig.getConfig().licenseKey = "Your license key";
export default async function handler(req, res) {
try {
const url = req.query.url
const pdf = await PdfDocument.fromUrl(url);
const data = await pdf.saveAsBuffer();
console.error('data PDF:', data);
res.setHeader('Content-Type', 'application/pdf');
res.setHeader('Content-Disposition', 'attachment; filename=awesomeIron.pdf');
res.send(data);
} catch (error) {
console.error('Error generating PDF:', error);
res.status(500).end();
}
}
// pages/api/pdf.js
import {IronPdfGlobalConfig, PdfDocument} from "@ironsoftware/ironpdf";
// Apply your IronPDF license key
IronPdfGlobalConfig.getConfig().licenseKey = "Your license key";
export default async function handler(req, res) {
try {
const url = req.query.url
const pdf = await PdfDocument.fromUrl(url);
const data = await pdf.saveAsBuffer();
console.error('data PDF:', data);
res.setHeader('Content-Type', 'application/pdf');
res.setHeader('Content-Disposition', 'attachment; filename=awesomeIron.pdf');
res.send(data);
} catch (error) {
console.error('Error generating PDF:', error);
res.status(500).end();
}
}
IRON VB CONVERTER ERROR developers@ironsoftware.com
Ahora modifique el código index.js como se indica a continuación para utilizar Prettier y IronPDF.
import Head from 'next/head';
import styles from '../styles/Home.module.css';
import React, { useState } from 'react';
export default function PrettierDemo() {
const [text, setText] = useState("");
const generatePdf = async () => {
try {
const response = await fetch('/api/pdf?url='+text);
const blob = await response.blob();
const url = window.URL.createObjectURL(new Blob([blob]));
const link = document.createElement('a');
link.href = url;
link.setAttribute('download', 'awesomeIron.pdf');
document.body.appendChild(link);
link.click();
link.parentNode.removeChild(link);
} catch (error) {
console.error('Error generating PDF:', error);
}
};
const handleChange = (event) => {
setText(event.target.value);
}
return (
<div className={styles.container}>
<Head>
<title>Generate PDF Using IronPDF</title>
<link rel="icon" href="/favicon.ico"/>
</Head>
<main>
<h1>Demo Prettier and Generate PDF Using IronPDF</h1>
<p>
<span>Enter Url To Convert to PDF:</span>{" "}
</p>
<button style={{margin:20, padding:5}} onClick={generatePdf}>Generate PDF</button>
</main>
<style jsx>{`
main {
padding: 5rem 0;
flex: 1;
display: flex;
flex-direction: column;
justify-content: center;
align-items: center;
}
footer {
width: 100%;
height: 100px;
border-top: 1px solid #eaeaea;
display: flex;
justify-content: center;
align-items: center;
}
footer img {
margin-left: 0.5rem;
}
footer a {
display: flex;
justify-content: center;
align-items: center;
text-decoration: none;
color: inherit;
}
code {
background: #fafafa;
border-radius: 5px;
padding: 0.75rem;
font-size: 1.1rem;
font-family: Menlo,
Monaco,
Lucida Console,
Liberation Mono,
DejaVu Sans Mono,
Bitstream Vera Sans Mono,
Courier New,
monospace;
}
`}</style>
<style jsx global>{`
html,
body {
padding: 0;
margin: 0;
font-family: -apple-system,
BlinkMacSystemFont,
Segoe UI,
Roboto,
Oxygen,
Ubuntu,
Cantarell,
Fira Sans,
Droid Sans,
Helvetica Neue,
sans-serif;
}
* {
box-sizing: border-box;
}
`}</style>
</div>
);
}
import Head from 'next/head';
import styles from '../styles/Home.module.css';
import React, { useState } from 'react';
export default function PrettierDemo() {
const [text, setText] = useState("");
const generatePdf = async () => {
try {
const response = await fetch('/api/pdf?url='+text);
const blob = await response.blob();
const url = window.URL.createObjectURL(new Blob([blob]));
const link = document.createElement('a');
link.href = url;
link.setAttribute('download', 'awesomeIron.pdf');
document.body.appendChild(link);
link.click();
link.parentNode.removeChild(link);
} catch (error) {
console.error('Error generating PDF:', error);
}
};
const handleChange = (event) => {
setText(event.target.value);
}
return (
<div className={styles.container}>
<Head>
<title>Generate PDF Using IronPDF</title>
<link rel="icon" href="/favicon.ico"/>
</Head>
<main>
<h1>Demo Prettier and Generate PDF Using IronPDF</h1>
<p>
<span>Enter Url To Convert to PDF:</span>{" "}
</p>
<button style={{margin:20, padding:5}} onClick={generatePdf}>Generate PDF</button>
</main>
<style jsx>{`
main {
padding: 5rem 0;
flex: 1;
display: flex;
flex-direction: column;
justify-content: center;
align-items: center;
}
footer {
width: 100%;
height: 100px;
border-top: 1px solid #eaeaea;
display: flex;
justify-content: center;
align-items: center;
}
footer img {
margin-left: 0.5rem;
}
footer a {
display: flex;
justify-content: center;
align-items: center;
text-decoration: none;
color: inherit;
}
code {
background: #fafafa;
border-radius: 5px;
padding: 0.75rem;
font-size: 1.1rem;
font-family: Menlo,
Monaco,
Lucida Console,
Liberation Mono,
DejaVu Sans Mono,
Bitstream Vera Sans Mono,
Courier New,
monospace;
}
`}</style>
<style jsx global>{`
html,
body {
padding: 0;
margin: 0;
font-family: -apple-system,
BlinkMacSystemFont,
Segoe UI,
Roboto,
Oxygen,
Ubuntu,
Cantarell,
Fira Sans,
Droid Sans,
Helvetica Neue,
sans-serif;
}
* {
box-sizing: border-box;
}
`}</style>
</div>
);
}
'INSTANT VB TODO TASK: The following line uses invalid syntax:
'import Head from '@next/head'; import styles from '../styles/Home.@module.css'; import React, { useState } from 'react'; export default @function PrettierDemo() { const [text, setText] = useState(""); const generatePdf = async() => { try { const response = await fetch('/api/System.Nullable<pdf>url='+text); const blob = await response.blob(); const url = window.URL.createObjectURL(New Blob([blob])); const link = document.createElement("a"c); link.href = url; link.setAttribute('download', 'awesomeIron.pdf'); document.body.appendChild(link); link.click(); link.parentNode.removeChild(link); } catch(@error) { console.@error('@Error generating PDF:', @error); } }; const handleChange = (event) => { setText(event.target.value); } Return(<div className={styles.container}> <Head> <title> Generate PDF @Using IronPDF</title> <link rel="icon" href="/favicon.ico"/> </Head> <main> <h1> Demo Prettier @and Generate PDF @Using IronPDF</h1> <p> <span> Enter Url @To Convert @to PDF:</span>{" "} </p> <button style={{margin:20, padding:5}} onClick={generatePdf}> Generate PDF</button> </main> <style jsx>{` main { padding: 5rem 0; flex: 1; display: flex; flex-direction: column; justify-content: center; align-items: center; } footer { width: 100%; height: 100px; border-top: 1px solid #eaeaea; display: flex; justify-content: center; align-items: center; } footer img { margin-left: 0.5rem; } footer a { display: flex; justify-content: center; align-items: center; text-decoration: none; color: inherit; } code { background: #fafafa; border-radius: 5px; padding: 0.75rem; font-size: 1.1rem; font-family: Menlo, Monaco, Lucida Console, Liberation Mono, DejaVu Sans Mono, Bitstream Vera Sans Mono, Courier @New, monospace; } `}</style> <style jsx global>{` html, body { padding: 0; margin: 0; font-family: -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Oxygen, Ubuntu, Cantarell, Fira Sans, Droid Sans, Helvetica Neue, sans-serif; } * { box-sizing: border-box; } `}</style> </div>); }
Formatea el código utilizando yarn prettier.
yarn prettier . --write
yarn prettier . --write
'INSTANT VB TODO TASK: The following line uses invalid syntax:
'yarn prettier. --write
Ahora ejecuta la aplicación usando el comando:
yarn dev
yarn dev
'INSTANT VB TODO TASK: The following line uses invalid syntax:
'yarn dev
El paquete IronPDF npm se ejecuta con la clave de licencia. IronPDF ofrece unprueba gratuita para que los usuarios puedan comprobar sus amplias funciones antes de comprarlo.
Coloque aquí la clave de licencia:
import {IronPdfGlobalConfig, PdfDocument} from "@ironsoftware/ironpdf";
// Apply your IronPDF license key
IronPdfGlobalConfig.getConfig().licenseKey = "Add Your key here";
import {IronPdfGlobalConfig, PdfDocument} from "@ironsoftware/ironpdf";
// Apply your IronPDF license key
IronPdfGlobalConfig.getConfig().licenseKey = "Add Your key here";
IRON VB CONVERTER ERROR developers@ironsoftware.com
Prettier es una herramienta fundamental en el desarrollo de software moderno, ya que agiliza el formateo de código con precisión y eficacia. Su capacidad para imponer estilos de codificación coherentes en distintos idiomas e integrarse perfectamente en los flujos de trabajo existentes lo hace indispensable para los equipos que se esfuerzan por conseguir bases de código limpias y fáciles de mantener. Al automatizar las tareas de formateo del código, Prettier permite a los desarrolladores centrarse más en escribir código de calidad y menos en minucias estilísticas o en la revisión del código, mejorando en última instancia la productividad y la colaboración en los proyectos de software. Utilice Prettier para mejorar la calidad del estilo de su código y agilizar su proceso de desarrollo hoy mismo.
IronPDF permite a los desarrolladores de Node.js elevar las capacidades de gestión de PDF dentro de sus aplicaciones, ofreciendo una funcionalidad, fiabilidad y rendimiento sin precedentes. Al aprovechar las funciones avanzadas de IronPDF para la generación, conversión y manipulación de PDF, los desarrolladores pueden agilizar los flujos de trabajo de documentos, mejorar las experiencias de los usuarios y satisfacer diversos requisitos empresariales con confianza. Adopte IronPDF para liberar todo el potencial del manejo de PDF en sus proyectos Node.js y ofrecer soluciones de documentos de calidad profesional sin esfuerzo.
9 productos API .NET para sus documentos de oficina