automatisch pdf printen

Status
Niet open voor verdere reacties.

JEPEDEWE

Terugkerende gebruiker
Lid geworden
14 jun 2006
Berichten
1.682
Hallo,

Binnen mijn code worden rapporten geprint.
Ik moet hier echter (zo goed als) altijd een gescand pdf document aan toevoegen.
Kan ik dat automatiseren binnen mijn acces-code zodat ik niet telkens naar de correcte folder moet, het document opzoeken en uitprinten?
De pdf's staan steeds in dezelfde folder en worden opgeslagen op een specifieke manier (naam met hierachter standaard tekst)

bedankt
JP
 
Simpel antwoord: ja. En de code die je daarvoor nodig hebt staat ook in dit forum; ik weet zo gauw niet precies welk topic maar was nog niet zo lang geleden. Kan ook het VBA forum zijn trouwens.
 
deze code heb ik gevonden en blijkt nog te werken ook... ;)

Code:
Private Sub Knop0_Click()
    CreateObject("shell.application").Namespace("G:\").Items.Item("XYZ.pdf").InvokeVerb "print"
End Sub

"G:" moet je aanpassen naar de locatie waar je pdf bestand staat
XYZ is de naam van het pdf bestand dat je zal uitprinten

jammer is evenwel dat het pdf document nog op het scherm getoond wordt en dat zou ik liever niet hebben... hoe je dat voorkomt is me niet duidelijk

Succes

JP
 
Laatst bewerkt:
iemand nog een antwoord op de laatste vraag in mijn reply?
alvast bedankt
JP
 
Als ik 'm zou snappen wellicht...
Binnen mijn code worden rapporten geprint.
Ik moet hier echter (zo goed als) altijd een gescand pdf document aan toevoegen.
Dat proces snap ik: je hebt een rapport, dat druk je af en dat sla je op als PDF. Wat is de lol om de pdf dan óók nog eens af te drukken? Hebben we d'dár de digitale workflow voor uitgevonden? :D
 
dit is het scenario:

Ik heb een officieel document dat ik als pdf ingescand heb
Dat staat op een bepaalde plaats op mijn z: drive
Telkens een document van een bepaalde persoon aangemaakt en opgestuurd wordt moet het eerste pdf document erbij gestoken worden.
Zoals het nu is, opent er zich een venster waarin het document op scherm getoond wordt. Pas dan kan ik het commando geven om het uit te printen
maw. Het laten zien in een afzonderlijk venster is niet nodig.
Onmiddellijk uitprinten is de optie

MVG
JP
 
Jp, je kan achter het "outputten" naar een pdf de optie "false" toevoegen zodat er een pdf gemaakt wordt zonder dat deze eerst op het scherm moet getoond worden
Code:
DoCmd.OutputTo acOutputReport, stdocname, acFormatPDF, Opslagmap & "\" & strReportName & ".pdf", False
NB: ik maak de documentnaam, plaats van opslaan van de PDf en de pdfnaam zelf dynamisch en je zou dus een voorafingescnand PDF document met een vaste naam en plaats perfekt kunnen automatisch koppelen als je de denkwijze aanhoudt.
Beetje gelijkaardig voor het printen van een rapport zonder het daadwerkelijk te tonen zet je er "hidden" achter
Code:
DoCmd.OpenReport stdocname, acViewReport, , stlinkcriteria, acHidden
 
het maken van de PDF gebeurt via de scan software van de scanner... het uitlezen echter via het programma zelf
(het zijn trouwens de mutualiteitsdocumenten die ik inscan en bij een derde betaler-rekening bijvoeg..)
(PS... gaan jullie deconverntioneren?)
 
Dan kun je misschien in je programma ook een knop zetten die een verkenner venster opent bij de juiste persoon, kwestie dan om via je scansoftware de PDF op te slaan in een map voor elke patiënt.
Dat doe je bv zo;: via GetPath wordt de locatie van mijn DB doorgegeven en dan voeg ik nog de vaste subdirectories toe, als laatste stel ik de directory van de bewoner samen met zijn naam en voornaam die ik haal uit het formulier waarop de knop staat.

Code:
 'naam, voornaam ophalen uit het formulier
    stbewonersnaam = Me.BNaam.Value
    stbewonersvoornaam = Me.BVoornaam.Value
' naar de map van de bewoner gaan
    dirname = GetPath & "Bewonersdossier\Fiches\" & stbewonersnaam & " " & stbewonersvoornaam
    'controleren of de map van die bewoner al bestaat, zoniet map aanmaken
    If Dir(dirname, vbDirectory) = "" Then MkDir dirname
' map openen via verkenner
    Shell "C:\WINDOWS\explorer.exe """ & dirname & "", vbNormalFocus

Code:
Public Function GetPath()
   'Retourneert de huidige bestandslocatie van de database
   ' staat de database bv in de S:\dossier dan wordt deze geretourneerd in de bestandslocatie
    GetPath = CurrentProject.Path & "\"     
End Function
 
Wat is het verschil tussen
Code:
    dirname = GetPath & "Bewonersdossier\Fiches\" & stbewonersnaam & " " & stbewonersvoornaam
en
Code:
    dirname = CurrentProject.Path & "\Bewonersdossier\Fiches\" & stbewonersnaam & " " & stbewonersvoornaam

Voor mij is die functie behoorlijk nutteloos, en voegt hij niks toe. Ja, extra ruimte...
 
Er is inderdaad geen verschil :) , ik heb die CurrentProject indertijd eens in de algemene module gezet als functie omdat er ook een GetImagePath, GetFilePath, etc.... bestaat die naar andere zaken, vaste mappen, etc... leiden en zo was 't een beetje overzichtelijker te houden.
 
ben er nog niet 100% uit.
Als ik schrijf:

Code:
    CreateObject("shell.application").Namespace("G:\KINE\Archief\").Items.Item("3de betalersysteem " & derde_naam & "_" & Year(Date) & ".pdf").InvokeVerb "print", acHidden

dan wordt de pdf nog steeds getoond, en dat wil ik niet... gewoon printen die handel en meer niet
ik schreef er acHidden achter maar dat leverde een foutmelding op dus die syntax is niet juist

Iemand de oplossing (zonder al te moeilijk te doen aub)
merci

JP
 
Iemand de oplossing (zonder al te moeilijk te doen aub)
Antwoord staat al in bericht #: druk je rapport af. Waarom zou je een pdf afdrukken? Die pdf is niks anders dan een kopie van je rapport, en zou dus exact dezelfde informatie moeten bevatten. Ergo: druk je rapport af, en exporteer dat daarna als pdf. Makkelijker dan dit wordt het niet...
 
Michel,

het af te printen document is niet binnen access gemaakt, maar is een gescand officieel document dat ik bij een, binnen access aangemaakt rapport moet voegen.
Dat document staat ergens op mijn HD onder een bepaald bestandsformaat.

JP
 
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan