fix: correct Streamlit progress values and API docs behind /v1 prefix

This commit is contained in:
CM Consultor
2026-08-09 04:19:44 +00:00
parent bb03663921
commit 9d6e8bd52d
3 changed files with 182 additions and 12 deletions

24
app.py
View File

@@ -146,18 +146,18 @@ try:
results = []
if operation == "📦 Comprimir PDF":
progress.progress(10, "Comprimindo...")
progress.progress(0.1, "Comprimindo...")
for i, (fname, fobj) in enumerate(files_data.items()):
result_data = engine.compress(fobj["data"], preset=extra_opts["preset"])
orig_mb = fobj["info"]["file_size_mb"]
new_mb = round(len(result_data) / (1024 * 1024), 2)
reduction = round((1 - (new_mb / orig_mb)) * 100, 1) if orig_mb > 0 else 0
results.append((fname.replace(".pdf", f"_comprimido.pdf"), result_data))
progress.progress((i + 1) / len(files_data) * 100,
progress.progress((i + 1) / len(files_data),
f"{fname}: {orig_mb}MB → {new_mb}MB ({reduction}% redução)")
elif operation == "📄 PDF/A → PDF comum":
progress.progress(10, "Convertendo PDF/A...")
progress.progress(0.1, "Convertendo PDF/A...")
for i, (fname, fobj) in enumerate(files_data.items()):
if fobj["info"].get("is_pdfa"):
result_data = engine.pdfa_to_regular(fobj["data"])
@@ -165,10 +165,10 @@ try:
else:
st.warning(f"{fname} não é PDF/A. Mantido original.")
results.append((fname, fobj["data"]))
progress.progress((i + 1) / len(files_data) * 100)
progress.progress((i + 1) / len(files_data))
elif operation == "📋 Comprimir (mantendo PDF/A)":
progress.progress(10, "Comprimindo PDF/A...")
progress.progress(0.1, "Comprimindo PDF/A...")
q = QUALITY_PRESETS[extra_opts["preset"]]["quality"]
for i, (fname, fobj) in enumerate(files_data.items()):
if fobj["info"].get("is_pdfa"):
@@ -179,14 +179,14 @@ try:
orig_mb = fobj["info"]["file_size_mb"]
new_mb = round(len(result_data) / (1024 * 1024), 2)
results.append((fname.replace(".pdf", f"_otimizado.pdf"), result_data))
progress.progress((i + 1) / len(files_data) * 100)
progress.progress((i + 1) / len(files_data))
elif operation == "🔗 Merge (juntar PDFs)":
progress.progress(30, "Mesclando PDFs...")
progress.progress(0.3, "Mesclando PDFs...")
merge_input = [(fobj["data"], fname) for fname, fobj in files_data.items()]
result_data = engine.merge(merge_input)
results.append(("merged.pdf", result_data))
progress.progress(100, "Merge concluído!")
progress.progress(1.0, "Merge concluído!")
elif operation == "✂️ Split (extrair páginas)":
fname = list(files_data.keys())[0]
@@ -210,11 +210,11 @@ try:
idx = int(part) - 1
ranges.append((idx, idx))
progress.progress(30, "Extraindo páginas...")
progress.progress(0.3, "Extraindo páginas...")
splitted = engine.split(fobj["data"], ranges, fname.replace(".pdf", ""))
for nome, data in splitted:
results.append((nome, data))
progress.progress(100, "Split concluído!")
progress.progress(1.0, "Split concluído!")
elif operation == "🔄 Rotacionar páginas":
fname = list(files_data.keys())[0]
@@ -230,10 +230,10 @@ try:
pages_list = [p for p in pages_list if 0 <= p < total]
rotations = [(p, angle) for p in pages_list]
progress.progress(50, "Rotacionando...")
progress.progress(0.5, "Rotacionando...")
result_data = engine.rotate(fobj["data"], rotations)
results.append((fname.replace(".pdf", f"_rotacionado.pdf"), result_data))
progress.progress(100)
progress.progress(1.0)
elif operation == "📝 Extrair texto":
for fname, fobj in files_data.items():