Contenidos
Agrega la dependencia de iText a tu archivo build.gradle
1 |
implementation("com.itextpdf:itextpdf:5.5.13.2") |
Código para crear un pdf con Kotlin en Android
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 |
package com.example.myapplication import android.os.Bundle import android.os.Environment import android.widget.Toast import androidx.activity.ComponentActivity import androidx.activity.compose.setContent import androidx.compose.foundation.layout.Arrangement import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.fillMaxSize import androidx.compose.material3.* import androidx.compose.runtime.Composable import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier import com.example.myapplication.ui.theme.MyApplicationTheme import com.itextpdf.text.Document import com.itextpdf.text.Element import com.itextpdf.text.Paragraph import com.itextpdf.text.pdf.PdfWriter import java.io.File import java.io.FileOutputStream import java.io.OutputStreamWriter import java.time.LocalDateTime class MainActivity : ComponentActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContent { MyApplicationTheme { Surface( modifier = Modifier.fillMaxSize(), color = MaterialTheme.colorScheme.background ) { Column( modifier = Modifier.fillMaxSize(), horizontalAlignment = Alignment.CenterHorizontally, verticalArrangement = Arrangement.Center ) { Button( onClick = { pdf() } ) { Text("Crear PDF") } } } } } } private fun pdf() { val fileName = "mi_archivo.pdf" // Nombre del archivo PDF val directorio = getFilesDir() val archivo = File(directorio, fileName) // Crear un nuevo documento val document = Document() // Inicializar el objeto PdfWriter para escribir en el documento val writer = PdfWriter.getInstance(document, FileOutputStream(archivo)) // Abrir el documento document.open() // Escribir contenido en el documento val paragraph = Paragraph("¡Hola, mundo!") paragraph.alignment = Element.ALIGN_CENTER document.add(paragraph) // Cerrar el documento document.close() Toast.makeText(this, "pdf creado", Toast.LENGTH_SHORT).show() } } |