pub struct DanfeBuilder<'a> {
pub xml: Option<&'a str>,
pub paper_size: Option<&'a str>,
pub as_base64: Option<&'a str>,
pub as_file: Option<&'a str>,
pub qr_side: bool,
pub logo: Option<&'a str>,
}Expand description
Builder para geração de DANFE (PDF) a partir de XML.
§Exemplo
use dfe::DanfeBuilder;
// Gerar o PDF e salvar em arquivo
let output_as_file = DanfeBuilder::new()
.xml("./nota.xml")
.paper_size("80mm")
.as_file("./danfe.pdf")
.build()
.await?;
// Ou obter o PDF em base64
let output_as_base64 = DanfeBuilder::new()
.xml("./nota.xml")
.paper_size("a4")
.as_base64()
.build()
.await?;Fields§
§xml: Option<&'a str>§paper_size: Option<&'a str>§as_base64: Option<&'a str>§as_file: Option<&'a str>§qr_side: bool§logo: Option<&'a str>Caminho de arquivo (PNG/JPG) ou string base64 do logotipo do emitente.
Data URIs (data:image/png;base64,...) também são aceitos.
Implementations§
Source§impl<'a> DanfeBuilder<'a>
impl<'a> DanfeBuilder<'a>
pub fn new() -> Self
Sourcepub fn xml(self, xml: &'a str) -> Self
pub fn xml(self, xml: &'a str) -> Self
Configura o XML a partir de uma string ou caminho de arquivo. O método detecta automaticamente se a entrada é um caminho de arquivo ou uma string XML. Se a string terminar com “.xml”, será tratada como um caminho de arquivo; caso contrário, será tratada como XML bruto.
Sourcepub fn paper_size(self, size: &'a str) -> Self
pub fn paper_size(self, size: &'a str) -> Self
Configura o tamanho do papel para o DANFE. Exemplos de tamanhos: “a4”, “80mm”, “54mm”. Se não enviado, o padrão será “a4”.
Sourcepub fn as_file(self, path: &'a str) -> Self
pub fn as_file(self, path: &'a str) -> Self
Configura a saída do DANFE como arquivo PDF. O caminho do arquivo deve ser fornecido como argumento.
Sourcepub fn logo(self, logo: &'a str) -> Self
pub fn logo(self, logo: &'a str) -> Self
Define o logotipo do emitente. Aceita: caminho de arquivo (.png / .jpg / .jpeg), base64 puro ou data URI.
Sourcepub fn qr_side(self) -> Self
pub fn qr_side(self) -> Self
Usa layout lateral para o QR Code (NFC-e 80mm): QR Code à esquerda (~33 mm) com chave de acesso e protocolo à direita. Padrão: QR Code centralizado.
Sourcepub async fn build(self) -> Result<String, String>
pub async fn build(self) -> Result<String, String>
Constrói e gera o PDF, retornando o resultado. Result<String, String> - Ok(String) com o resultado da geração ou Err(String) com a mensagem de erro. Ok(String) pode ser o caminho do arquivo gerado ou a string base64, dependendo da configuração escolhida.
Trait Implementations§
Source§impl<'a> Clone for DanfeBuilder<'a>
impl<'a> Clone for DanfeBuilder<'a>
Source§fn clone(&self) -> DanfeBuilder<'a>
fn clone(&self) -> DanfeBuilder<'a>
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more