PDF-automatische Vorladung funktioniert nach der Bearbeitung in React-Komponente nichtPython

Python-Programme
Anonymous
 PDF-automatische Vorladung funktioniert nach der Bearbeitung in React-Komponente nicht

Post by Anonymous »

PDF Auto-Upload funktioniert nicht nach der Bearbeitung in der React-Komponente < /p>
Problembeschreibung < /H2>
Ich implementiere einen PDF-Editor mit automatischer UPload-Funktionalität in einer React-Komponente. Das PDF wird in einem neuen Fenster für die Bearbeitung generiert und geöffnet, aber Änderungen an der PDF werden nicht ordnungsgemäß auf den Server zurückgeladen.const handleGenerateParPdf = async () => {
try {
// Generate initial PDF
const response = await dispatch(generateParPdf(formData)).unwrap();

// Convert base64 to blob and create URL
const byteCharacters = atob(response.data);
const byteArray = new Uint8Array(byteCharacters.length);
for (let i = 0; i < byteCharacters.length; i++) {
byteArray = byteCharacters.charCodeAt(i);
}
const blob = new Blob([byteArray], { type: "application/pdf" });
const pdfUrl = URL.createObjectURL(blob);

// Open PDF in new window with auto-save functionality
const newWindow = window.open("", "_blank");
newWindow.document.write(`



PAR PDF Editor

/* ... styles ... */




Changes will be saved automatically

Upload
Close




// Auto-save functionality
let saveTimeout;
const statusEl = document.querySelector('.status');

async function handlePdfChange() {
try {
statusEl.textContent = 'Saving changes...';
statusEl.className = 'status saving';

const pdfFrame = document.getElementById('pdf-container');
const response = await fetch(pdfFrame.src);
const pdfBlob = await response.blob();

window.opener.postMessage({
type: 'autosavePdf',
pdfData: await pdfBlob.arrayBuffer(),
timestamp: Date.now()
}, '*');

statusEl.textContent = 'Changes saved';
statusEl.className = 'status saved';
} catch (error) {
console.error('Error saving PDF:', error);
statusEl.textContent = 'Error saving changes';
statusEl.className = 'status error';
}
}

// Watch for PDF changes
const observer = new MutationObserver(() => {
clearTimeout(saveTimeout);
saveTimeout = setTimeout(handlePdfChange, 2000);
});

observer.observe(document.getElementById('pdf-container'), {
attributes: true,
childList: true,
subtree: true
});



`);
} catch (error) {
console.error("Error generating PAR PDF:", error);
}
};
< /code>
Erwartete Verhalten < /h2>


[*] PDF sollte in einem neuen Fenster mit Bearbeitungsfunktionen öffnen. Speichern < /li>
< /ol>
Tatsächliches Verhalten < /H2>

PDF wird in neuem Fenster korrekt geöffnet. Der Server erhält keine Updates < /li>
< /ol>
Was ich ausprobiert habe < /H2>

Verwenden von MutationObserver, um Änderungen im IFRame < /li>
implementieren zu erkennen. PDF zum Blob vor dem Senden < /li>
< /ol>
Fragen < /h2>

Wie kann ich Änderungen, die Änderungen an der PDF -PDF -PDF im Iframe ordnungsgemäß erfassen, ordnungsgemäß erkennen. Zum Server? /> Browser: Chrom/Firefox

Jede Hilfe oder Anleitung wäre sehr geschätzt!

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post