Pagina 1 di 1
[Risolto] Esportazione pdf e campo data
Inviato: martedì 13 marzo 2012, 17:36
da c.spaziani
Salve,
mi accade una cosa strana: in un modello writer è presente un controllo campo data che viene aggiornato all'apertura in questo modo:
Codice: Seleziona tutto
Sub DataOggi
Dim oDoc
Dim oData
Dim oDataCtrl
oDoc = ThisComponent
oData = oDoc.DrawPage.Forms.GetByIndex(0).getByName("CampoData")
oDataCtrl = oDoc.CurrentController.getControl(oData)
oDataCtrl.setDate(CDateToIso(Date()))
End Sub
Il campo sia a video che in stampa riporta la data corretta, mentre se esporto in pdf, il campo non tiene conto delle modifiche effettuate via macro.
Si tratta di un bug?
Re: Esportazione pdf e campo data
Inviato: sabato 17 marzo 2012, 12:17
da Mizio1961
Ciao. Per verificare se è un bug puoi allegare il file così lo si prova su altri sistemi?
Re: Esportazione pdf e campo data
Inviato: lunedì 19 marzo 2012, 19:59
da c.spaziani
Su Windows, per replicare l'errore utilizzare il seguente documento:
che contiene all'interno solamente un campo data impostato sulla data 01/01/12.
Se si esegue la macro
Codice: Seleziona tutto
Sub DataOggi
Dim oDoc
Dim oData
Dim oDataCtrl
oDoc = ThisComponent
oData = oDoc.DrawPage.Forms.GetByIndex(0).getByName("CampoData")
oDataCtrl = oDoc.CurrentController.getControl(oData)
oDataCtrl.setDate(CDateToIso(Date()))
End Sub
il campo viene aggiornato con la data odierna.
Il problema si presenta esportando il file in pdf, infatti la data riamane quella iniziale.
Cambiando la data a mano questo non succede.
Su Linux, Ubuntu 11.10 con LibreOffice 3.5.0 350m1(Build:13), il file precedente stranamente dà errore e non viene nemmeno letto!
Ho creato un file identico partendo da linux:
Risultato: non riesco ad accedere al campo data da macro.
Se provo ad aprire il file creato su linux da windows, stavolta il file si apre, il campo data è presente ma non è visibile (si può selezionare in modalità bozza, ma le proprietà non sono accesibili) e riscontro lo stesso problema ad accedervi via macro (insomma è inutilizzabile!!).
Che ne pensate?
Re: Esportazione pdf e campo data
Inviato: martedì 20 marzo 2012, 14:27
da Mizio1961
Ho fatto alcune prove con le opzioni di esportazione.
Nel mio caso il risultato è stato che impostando come formato di esportazione il tipo PDF/A-1a nella scheda Generale del dialog delle opzioni, il file si porta la data impostata tramite macro (ad es per oggi 20/03/12).
Guardando un pò di cosa tratta questo parametro mi sembra di capire che il comportamento sia corretto così in quanto anche in PDF posso fare delle automazioni.
Forse gli altri formati (soprattutto quello Crea formulario PDF) leggono il campo come programmabile, quindi lo lasciano sull'impostazione di base in modo da consentirne la riprogrammazione in PDF.
By Mizio
Re: Esportazione pdf e campo data
Inviato: martedì 20 marzo 2012, 18:12
da c.spaziani
Hai ragione, salvando nel formato PDF/A-1a il problema non si presenta!
Ho riscritto la macro per salvare in pdf e inviare per email (che è quello che alla fine mi serviva) utilizzando il formato PDF/A-1a...
Codice: Seleziona tutto
Sub ConvertToPDFandSend
Dim FileProperties(1) As New com.sun.star.beans.PropertyValue
BasicLibraries.LoadLibrary("Tools")
oDoc = ThisComponent
sFilePDF = GetPathSettings("Temp") + "/SenzaNome.pdf"
If oDoc.hasLocation Then
sFilePDF = GetPathSettings("Temp") + "/" + GetFileNameWithoutExtension(FileNameoutofPath(oDoc.getURL)) + ".pdf"
End If
FileProperties(0).Name = "FilterName"
FileProperties(0).Value = "writer_pdf_Export"
FileProperties(1).Name = "SelectPdfVersion"
FileProperties(1).Value = 1 'PDF/A-1a
oDoc.storeToURL(sFilePDF, FileProperties())
eMailer = createUnoService("com.sun.star.system.SimpleSystemMail")
eMailClient = eMailer.querySimpleMailClient()
eMessage = eMailClient.createSimpleMailMessage()
eMessage.setAttachement(Array(sFilePDF))
eMailClient.sendSimpleMailMessage(eMessage, 0)
Kill(sFilePDF)
End Sub
...quindi posso dire di aver raggiunto il mio scopo senza dover rimettere mano a una cinquantina di modelli!
Per quanto riguarda l'utilizzo dei campi data rimangono i problemi di compatibilità tra windows e linux e altri problemi legati alla gestione degli eventi che ho segnalato tempo fa sulla ML dev-it, ma per il momento va bene così... Grazie!
Re: [Risolto] Esportazione pdf e campo data
Inviato: martedì 20 marzo 2012, 20:47
da Mizio1961
Prego
Fa sempre piacere riuscire ad essere di aiuto
Saluti e 'buon divertimento'