Toon posts:

[ASP] printen word documenten

Pagina: 1
Acties:

Verwijderd

Topicstarter
Heeft er iemand ervaring met het printen van Word documenten met asp?

Ben nog een newbie op het gebied van ASP en ik wil Word documenten printen met ASP, heb al heel wat fora en ASP-sites afgestruind en kon slechts 1 ding vinden:


code:
1
2
3
4
5
6
7
8
9
10
    'create the object
    Set objWord = CreateObject("WORD.Application")
    'Show The Word Application
    objWord.Visible = True
    'open the document
    objWord.Documents.Open strDocPath
    'lets see if we need To print it out
    if bolPrintDoc = "PrintDoc" Then
    'lets print it To the default printer
    objWord.PrintOut

Heb er zelf het volgende van gemaakt:


code:
1
2
3
4
    set objWord = server.createObject("WORD.Application")
    objWord.Visible = false
    objWord.Documents.Open doc
    objWord.PrintOut

Dit werkt helaas niet (de 1e optie overigens ook niet), any tips / suggestions / links?

Thanx

edit:
Zoiets?

  • whoami
  • Registratie: December 2000
  • Laatst online: 17:40
Het werkt niet.
Wat werkt er niet? Welke foutmelding krijg je, wat gebeurt er niet, etc.
Glazen bollen worden jammer genoeg niet meer gemaakt.

Lees ook eens de Quickstart door voordat je een topic opent.

(En zet je code tussen code-tags, dat maakt het er al een stuk leesbaarder op).

https://fgheysels.github.io/


Verwijderd

Topicstarter
Sorry, ben ook nog een newbie op het gebied van dit forum :D. maar bedankt voor de tip, heb het gelijk even gelezen.

Het printen werkt in zijn geheel niet. Krijg de melding dat er geen default printer is geïnstalleerd (wel degelijk het geval (netwerkprinter :?))

Ben op het moment niet in staat om de foutmelding exact te quoten, zal hier later op terugkomen.

  • Woudloper
  • Registratie: November 2001
  • Niet online

Woudloper

« - _ - »

[b]SlickV: /b]
Het printen werkt in zijn geheel niet. Krijg de melding dat er geen default printer is geïnstalleerd (wel degelijk het geval (netwerkprinter :? )
Heb je de printer ingesteld op de PC waar je op werkt of op de PC waar IIS is geïnstalleerd???
Ben op het moment niet in staat om de foutmelding exact te quoten, zal hier later op terugkomen.
Helaas :)

Verwijderd

Volgens mij wordt er geprobeerd te printen op de IIS machine. Het object wordt uitgevoerd onder ASP, en ASP wordt uitgevoerd op de IIS machine.

Heb je verder geen support bij het object dat je gebruikt :?

Verwijderd

Je moet wel Word geinstalleerd hebben staan op je server :) Anders heeft een verbinding maken met het object word ook geen zin he :)

Verwijderd

Topicstarter
Heb het hele zaakie even op mijn eigen PC geïnstalleerd (stond op een geleende laptop, die moest terug).

Stond er zo voor: Laptop -> IIS & ASP scripts, printer geïnstalleerd als netwerkprinter, Op mijn eigen PC voerde ik de scripts uit, en daar staat mijn printer op aangesloten. Met deze installatie gaf ie de error dat er geen printer geïnstalleerd stond.

Nu heb ik het allemaal op mijn eigen PC geïnstalleerd, dus IIS, ASP scripts en de printer. Helaas krijg ik nu weer een andere foutmelding, die ga ik eerst even oplossen, kom er dus wederom later op terug :D

[error die ik nu krijg]
Error Type:
Server object, ASP 0178 (0x80070005)
The call to Server.CreateObject failed while checking permissions. Access is denied to this object.
/content/content/afdrukken/content/a-1/print.asp, line 17

line 17: set objWord = server.createObject("WORD.Application")
[/error die ik nu krijg]

edit:
Oh ja, ik heb trouwens ook WORD (Office 2k) geïnstalleerd (had ik al op de laptop, dat begreep ik nog wel 8-))

  • Woudloper
  • Registratie: November 2001
  • Niet online

Woudloper

« - _ - »

En als je nou eens gewoon Server. weg haalt :?

Verwijderd

Topicstarter
Op vrijdag 21 juni 2002 12:04 schreef Woudloper het volgende:
En als je nou eens gewoon Server. weg haalt :?
[error]
Microsoft VBScript runtime (0x800A0046)
Permission denied: 'createObject'
/content/content/afdrukken/content/a-1/print.asp, line 17
[/error]

Line 17:
code:
1
set objWord = createObject("WORD.Application")

Denk dat het iets te maken heeft met de instellingen van mijn IIS !? (met rechten enz.)

  • Woudloper
  • Registratie: November 2001
  • Niet online

Woudloper

« - _ - »

SlickV:
Denk dat het iets te maken heeft met de instellingen van mijn IIS !? (met rechten enz.)
Klopt :) Dit heeft te maken met de rechten die de 'Internet Guest Account' heeft en dit moet je dus meerdere rechten geven op ofwel the folder of gewoon zijn algemene rechten...

Verwijderd

Topicstarter
Kun je me vertellen hoe precies, want ik heb van alles geprobeerd, en in eerste instantie werkte het wel, maar vervolgens liep ik tegen de volgende error op. (Iets met macro's & word) Die heb ik verholpen en vervolgens gaf ie weer dezelfde error:

[error]
Error Type:
Microsoft VBScript runtime (0x800A0046)
Permission denied: 'createObject'
/content/content/afdrukken/content/a-1/print.asp, line 17
[/error]

Line 17:
code:
1
 set objWord = createObject("WORD.Application")

  • Woudloper
  • Registratie: November 2001
  • Niet online

Woudloper

« - _ - »

kijk hier maar eens :)

Verwijderd

Topicstarter
Ik had het al gevonden, was weer te snel met posten |:(
Toch bedankt!

Nu opent ie het document ondanks:
code:
1
objWord.Visible = false

en zegt ie eerst dat het document is beveiligd door IUSR_NICK, kan een alleen-lezen doc openen, en vervolgens gaat ie de faxverstuurwizard opstarten.

Het is de bedoeling dat als er op de link geklikt wordt het document uit de printer komt rollen, om bewerking tegen te gaan.

Ben iig zover dat ie em opent, en geen foutmelding meer geeft, dus tot zover bedankt! (Suggesties blijven welkom :D)

Verwijderd

Topicstarter
Hele middag gezocht en geprobeerd, maar geen steek verder.

Momenteel ziet mijn code er zo uit:
code:
1
2
3
4
5
6
7
8
9
10
11
12
printDoc = Request.Querystring("doc")
doc = "c:\apexks\content\content\afdrukken\content\a-1\"&printDoc&".doc"

Set objWord = Server.CreateObject("Word.Application")
Set objDoc = objWord.Documents.Open(doc)
objWord.Application.Visible = false
objWord.Application.PrintOut()

objDoc.Close False
Set objDoc = Nothing
objWord.Quit False
Set objWord = Nothing

Als ik het vervolgens uitvoer gebeurd er hetvolgende (nadat ik in een pop-up, waarin staat dat het document beschermt is tegen bewerken door IUSR_NICK, gekozen heb voor alleen-lezen, ander probleem, komt later wel, tenzij je een oplossing weet :D), word verschijnt een split-second, en vervolgens wordt de fax wizard gestart :(. De rest van het script wordt netjes uitgevoerd (response.redirect)

Gezocht naar een oplossing, vond hetvolgende:

Print dialog box. The Print Setup dialog box controls how and what you print. The following is an example of printing the entire document:
code:
1
2
3
 Application.PrintOut FileName:="", Range:=wdPrintAllDocument, Item:= _
      wdPrintDocumentContent, Copies:=1, Pages:="", PageType:=wdPrintAllPages, _
      Collate:=True, Background:=True, PrintToFile:=False



De bijbehorende PrintOut method (Visual Basic?!) heb ik hier gevonden.

Is deze methode te gebruiken in VBscript?

edit:
Heb geprobeerd een aantal properties erachter (PrintOut(xxx)) te zetten, dan verdwijnt de fax-wizard, maar dan is er weer een error in de browser (type mismatch: application.printout)

  • LauPro
  • Registratie: Augustus 2001
  • Laatst online: 11:09

LauPro

Prof Mierenneuke®

Leuk een aandig maar waarom wil je dit? Als het voor een website nodig is dan moet je 24/7 een printer aan hebben staan (laserprinter == duur! (qwa stroom)).

Je moet maar is met 'Objectenoverzicht' of 'Objectbrowser' het WORD-object bekijken, misschien word je daar wijzer uit en anders msdn :Y)

Inkoopacties - HENK terug! - Megabit
It is a war here, so be a general!


Verwijderd

try this:

Set objWord = CreateObject("", "WORD.Application")

het hielp bij mij
Pagina: 1