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!
PDF-automatische Vorladung funktioniert nach der Bearbeitung in React-Komponente nicht ⇐ Python
-
- Similar Topics
- Replies
- Views
- Last post