Pergunte aqui
1

[SOLVED] Marca D'agua - Página Inteira - PDFTK

perguntadas 2019-07-05 17:30:48 +0200

imagem do gravatar de murielgm

updated 2019-07-08 15:50:13 +0200

Bom dia. O libreoffice cria alguns embaraços para a utilização de uma imagem como marca d'agua quando ela precisa ocupara a folha inteira (é necessário zerar as margens). Porém, é possível contornar essa questão utilizando-se do programa PDFTK e o comando BACKGROUND.

O que eu busco é automatizar o processo:

é possível criar uma macro que execute um programa externo (função shell?), que faça as seguintes tarefas: (1) exporte o arquivo aberto no libreoffice em PDF; (2) pegue os dados desse arquivo exportado em pdf e o insira em uma linha de comando do PDFTK com a função BACKGROUND, mesclando com um arquivo PDF já existente (a marca dagua propriamente dita) e assim gere um segundo PDF, com a marca dagua?

Perdoem-me se não fui claro. Não entendo absolutamente nada de programação, só sei procurar no google.

Valeu!

MGM - Curitiba

editar alterar tag assinalar como ofensivo fechar mesclar Excluir

2 Respostas

2

respondidas 2019-07-08 15:49:37 +0200

imagem do gravatar de murielgm

Bom dia! O usuário musikai no forum.openoffice.org ajudou na elaboração de uma macro que automatiza e resolve o problema. Obs: Precisa do programa PDFTK.

https://forum.openoffice.org/en/forum/viewtopic.php?f=20&t=98588&p=473589#p473545

Sub export_with_background_PDF
BackgroundPDF = "C:\Users\yourname\Desktop\background.pdf"
pdftkapp = "pdftk.exe"   ' for linux use pdftk
oDoc=ThisComponent
if len(oDoc.getURL())=0 then
msgbox "Save document first!"
exit sub
end if

If (Not GlobalScope.BasicLibraries.isLibraryLoaded("Tools")) Then GlobalScope.BasicLibraries.LoadLibrary("Tools")
workdirfull = DirectoryNameoutofPath(oDoc.getURL(),"/")
docname = GetFileNameWithoutExtension(oDoc.getURL(),"/")

ResultPDF =  workdirfull & "/" & docname & ".pdf"

oPathSettings = CreateUnoService( "com.sun.star.util.PathSettings" )
SysTempDir = oPathSettings.Temp_writable & "/"

TempPDF = SysTempDir & "temp.pdf"

Dim args3(0) as new com.sun.star.beans.PropertyValue
args3(0).Name = "FilterName"
args3(0).Value = "writer_pdf_Export"
oDoc.storeToURL(TempPDF,args3())

Shell(pdftkapp,0, """" & ConvertFromURL(TempPDF) & """" & " multibackground " & """" & ConvertFromURL(BackgroundPDF) & """" & " output " & """" & ConvertFromURL(ResultPDF) & """", true)
kill(ConvertFromURL(TempPDF))

End Sub
editar assinalar como ofensivo Excluir Link mais
0

respondidas 2019-07-05 18:10:54 +0200

updated 2019-07-05 18:15:09 +0200

Ola @murielgm, seja bem vindo ao Grupo.

Não é o ideal mas faço assim: ( Win10 + LibO 6.2.5.2 x64 )

  • Insira a figura (imagem) Ctrl+F,
  • com a imagem selecionada, araste para um canto da página
  • estique a imagem para para os outros cantos
  • clique direito, em Disposição do texto selecione No plano de fundo
  • clique direito, em Propriedades / Proteger (marque) Conteúdo, Posição, Tamanho e Imprimir.
  • clique fora da página para o cursor ira para o inicio da página.

-----------------------------------------------------------------------------

ATENÇÂO:: Caso queira dar mais detalhes a sua pergunta, use Descrição da imagem na pergunta ou Descrição da imagem abaixo. Grato.

Caso a resposta atendeu sua necessidade, por gentileza, click na bolinha Descrição da imagem a esquerda da resposta, para finalizar a pergunta.

editar assinalar como ofensivo Excluir Link mais

Comentários

@murielgm, comentou:

Obrigado, mas eu queria mesmo uma macro, valeu!

-----------------------------------------------------------------------------

ATENÇÂO:: Caso queira dar mais detalhes a sua pergunta, use Descrição da imagem na pergunta ou Descrição da imagem abaixo. Grato.

NÃO USE, Adicionar resposta. Grato.

imagem do gravatar de Gilberto SchiavinattoGilberto Schiavinatto ( 2019-07-05 21:50:18 +0200 )editar
Login/Registrar para responder

Ferramentas de perguntas

1 seguidor

Estatísticas

Perguntadas: 2019-07-05 17:30:48 +0200

Lidas: 25 vezes

Última atualização: Jul 08