Avatar billede jansangill Nybegynder
01. maj 2007 - 16:25 Der er 11 kommentarer og
1 løsning

print fra scrollpane.

hejsa.

Jeg er ved at prøve at finde ud af hvordan man printer alt ud fra min scrollpane. I øjeblikket printer den slet ikke nok ud. Enten er det fordi at den kun vil printe det ud som den kan se i scrollpane, eller også er det fordi at det der bliver printet ud er alt for "stort". Det ville nok hjælpe hvis den printede det ud horizontalt, istedet for vertical.

Har aldrig prøvet at lege med print i flash før, så finder det lidt tricky.  Mit kode er herunder, og er nok messy:

print_btn.onRelease = function(){
    var my_pj = new PrintJob();
    var myResult = my_pj.start();
    if(myResult){
        myResult = my_pj.addPage (0, {xMin :300, xMax: 1800, yMin: 200, yMax: 500});
        myResult = my_pj.addPage ("hyldeScroll", {xMin :300, xMax: 1800, yMin: 200, yMax: 500},{printAsBitmap:false}, 1);
       
        my_pj.send();
    }
    delete my_pj;
}

Nogle forslag til hvordan jeg kan printe alt ud fra min scrollpane 
horizontalt? Lige nu får jeg kun 1/3 med.
Avatar billede barklund Nybegynder
01. maj 2007 - 16:28 #1
"...addPage(hyldeScroll.content, ..." tror jeg måske det skal være :)
Avatar billede jansangill Nybegynder
01. maj 2007 - 16:53 #2
ja, men det hjalp ikke meget:)  Stadig det samme der bliver skrevet ud:)

Problemet er måske at det der bliver skrevet ud er for "stort". Er der en måde hvori man kan formindske det der printes, men ikke det der bliver vist?


Og ydermere at bestemme at orientatíon skal være portrait?
Avatar billede jansangill Nybegynder
01. maj 2007 - 17:04 #3
Har lige testet lidt yderligere. Det er åbenbart ligegyldig hvad jeg sætter ind her:

addPage(hyldeScroll.content.....

Dette skriver det samme ud hvis jeg skriver:

addPage(æv....."

Er totalt lost.


Jeg har en scrollPane, som har en instance navn list_scroll.

Denne scrollpane har en movie attached til sig, som hedder hyldeScroll.

I denne movie har jeg alt koden.
Avatar billede barklund Nybegynder
02. maj 2007 - 09:20 #4
Koden er inden i movieclippet, der skal udskrives?

var base = this;
print_btn.onRelease = function(){
  ...
  ...addPage(base, ...
  ...
}

Prøv noget i den stil :)
Avatar billede jansangill Nybegynder
02. maj 2007 - 11:42 #5
okay dette er den fulde kode:

if (dvdInfo_lv.sentId == "1") {
    myTable.createTable("http://www.123ogabc.dk/table1.asp");
   
   
    print_btn._visible = true;
    print_btn.onRelease = function(){
    var my_pj = new PrintJob();
    var myResult = my_pj.start();
    if(myResult){
        var base = this;
        myResult = my_pj.addPage (0, {xMin :300, xMax: 1800, yMin: 200,
            yMax: 500});  // dette virker med 0.....ikke med andet
           
                my_pj.send();
    }
    delete my_pj;
}


Hvis jeg erstatter 0 med base skriver den kun print button ud.


Problemet er jo ikke så meget at den ikke gider at udskrive, problemet er at det der biver udskrevet ikke kan være på en side, da det er så stort.  SÅ jeg håbede man på en eller anden måde kan fikse det sådan at det der bliver udskrevet har orientation af "portrait", og at det der bliver udskrevet bliver "mindre".

Eller at man kan få det til at køre over flere sider, igen helst med orientation "portrait" hvis muligt.
Avatar billede barklund Nybegynder
02. maj 2007 - 12:20 #6
var base = this skal stå uden for din funktion som i mit eksempel :)
Avatar billede jansangill Nybegynder
02. maj 2007 - 12:38 #7
ja det har jeg også prøvet, og ja det virker, men ikke bedre end '0'.

Ved du hvordan man?:
Problemet er jo ikke så meget at den ikke gider at udskrive, problemet er at det der biver udskrevet ikke kan være på en side, da det er så stort.  SÅ jeg håbede man på en eller anden måde kan fikse det sådan at det der bliver udskrevet har orientation af "portrait", og at det der bliver udskrevet bliver "mindre".

Eller at man kan få det til at køre over flere sider, igen helst med orientation "portrait" hvis muligt.
Avatar billede barklund Nybegynder
02. maj 2007 - 13:24 #8
jamen med xMin og xMax angiver du jo den forventede bredde af det udskrevne - og med yMin og yMax den forventede højde - så hvis du laver yMax større, så udskriver den vel et større område? Flash udskriver i vektor, så det kan altid skaleres.
Avatar billede jansangill Nybegynder
02. maj 2007 - 15:36 #9
ja men problemet ligger også i at jeg ikke helt ved hvordan man skal skalere det. Jeg har set man kan bruge scaleX og scaleY, men ved ikke helt hvordan jeg skal inkorperere det i mit script.
Avatar billede jansangill Nybegynder
02. maj 2007 - 16:09 #10
Og ydermere når man printer; var base = this; ud så printer den kun det den ser i scrollpane. Og ikke det der ikke ses.

Ved ikke om du kan hjælpe mig med dette, og se om du kan gennemskue hvad jeg gør galt. For der er nok meget.

- Jeg har en scrollPane, som har navnet liste_scroll

- Den scrollpane har hyldeScroll som contentpath.

- hyldeScroll har en tabel i sig som skal udskrives.

- det der skal udskrives kan ikke være på en side, så jeg vil gerne at det bliver    skaleret.

- eller at den udskriver 2 sider, hvor den starter hvor den stoppede på sidste side.


Ved ikke om du har tid til at hjælpe mig, men jeg har googlet og testet det i stykker, og kan bare ikke få det til at virke optimalt.

Men hvis du ikke har tiden eller lysten, så bare smid et svar, da du har prøvet at hjælpe mig.
Avatar billede barklund Nybegynder
02. maj 2007 - 16:39 #11
Print i Flash har altid været en pine. Det er blevet nemmere med printjob, men stadig besværligt. Som oftest gør jeg det ved via script når der trykkes på "print" at jeg i det "skjulte" bygger et helt nyt movieclip (uden for scenen), hvor jeg attach'er og create'r alt det, der skal printes i det rigtige layout - og så sender du dette nye midlertidige movieclip til printeren - og herefter slette dette movieclip igen :)

--
Morten Barklund
Avatar billede barklund Nybegynder
03. maj 2007 - 10:03 #12
Taktak anyways :)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester