PDF-vienti — Aspose.Note FOSS for Python
Aspose.Note FOSS for Python tukee ladattujen .one asiakirjojen vientiä PDF-muotoon Document.Save() kautta. PDF-renderöinti toteutetaan valinnaisella ReportLab -kirjastolla. Tämä on ainoa tällä hetkellä toteutettu tallennusmuoto; muut SaveFormat arvot aiheuttavat UnsupportedSaveFormatException.
Esivaatimukset
Asenna kirjasto [pdf] -lisäosan avulla, jotta ReportLab otetaan mukaan:
pip install "aspose-note[pdf]"Vahvista:
python -c "from aspose.note import Document, SaveFormat; print('PDF export ready')"Perusvienti
Vie kaikki asiakirjan sivut yhdeksi PDF‑tiedostoksi:
from aspose.note import Document, SaveFormat
doc = Document("MyNotes.one")
doc.Save("output.pdf", SaveFormat.Pdf)Sivut näkyvät PDF:ssä samassa järjestyksessä kuin ne näkyvät DOM:ssa.
PdfSaveOptions:n käyttäminen
PdfSaveOptions tarjoaa hienojakoista hallintaa viennissä. Käytä sitä pelkän SaveFormat-enumeraation sijaan:
from aspose.note import Document
from aspose.note.saving import PdfSaveOptions
opts = PdfSaveOptions()
doc = Document("MyNotes.one")
doc.Save("output.pdf", opts)Huomautus
PageIndex/PageCount: Nämä kentät ovat olemassaPdfSaveOptions:ssä, mutta ei siirretä PDF-vientiin versiossa 26.3.1 eikä niillä ole vaikutusta. Koko asiakirja viedään aina.
PdfSaveOptions‑viite
| Property | Type | Default | Description |
|---|---|---|---|
PageIndex | int | 0 | Kenttä on olemassa, mutta ei lähetetä PDF-vientiin versiossa 26.3.1 (ei vaikutusta) |
PageCount | int | None | None | Kenttä on olemassa, mutta ei lähetetä PDF-vientiin versiossa 26.3.1 (ei vaikutusta) |
Erävienti
Muunna jokainen .one-tiedosto hakemistossa PDF-muotoon:
from pathlib import Path
from aspose.note import Document, SaveFormat
input_dir = Path("./notes")
output_dir = Path("./pdfs")
output_dir.mkdir(parents=True, exist_ok=True)
for one_file in sorted(input_dir.glob("*.one")):
try:
doc = Document(str(one_file))
out = output_dir / one_file.with_suffix(".pdf").name
doc.Save(str(out), SaveFormat.Pdf)
print(f"OK {one_file.name} -> {out.name}")
except Exception as exc:
print(f"ERR {one_file.name}: {exc}")Lataa virrasta, tallenna tiedostoon
Yhdistä virta-pohjainen lataus tiedostopohjaiseen PDF-tulostukseen:
from pathlib import Path
from aspose.note import Document, SaveFormat
one_bytes = Path("MyNotes.one").read_bytes()
import io
doc = Document(io.BytesIO(one_bytes))
doc.Save("output.pdf", SaveFormat.Pdf)Hae PDF‑tavut muistiin
Document.Save() hyväksyy binäärivirran suoraan: väliaikaista tiedostoa ei tarvita:
import io
from aspose.note import Document, SaveFormat
from aspose.note.saving import PdfSaveOptions
doc = Document("MyNotes.one")
buf = io.BytesIO()
doc.Save(buf, PdfSaveOptions())
pdf_bytes = buf.getvalue()
print(f"PDF size: {len(pdf_bytes)} bytes")Tuetut SaveFormat-arvot
| Tallennusmuoto | Tila |
|---|---|
SaveFormat.Pdf | Toteutettu |
Yleiset virheet
| Virhe | Syy | Korjaus |
|---|---|---|
ImportError: No module named 'reportlab' | [pdf] lisäosa ei asennettu | pip install "aspose-note[pdf]" |
UnsupportedSaveFormatException | Käytetty ei-PDF SaveFormat | Käytä vain SaveFormat.Pdf |
IncorrectPasswordException | Salattu .one-tiedosto | Käytä salaamatonta tiedostoa |
FileNotFoundError | Syötteen .one-polku on väärä | Vahvista polku käyttämällä Path.exists() |
| Permission error on output | Tulostushakemisto ei ole kirjoitettavissa | Tarkista tulostushakemiston oikeudet |