Tisk do jednoho dokumentu

6 replies [Poslední]
KacerT
Offline
Joined: 28.04.11 11:20
Tisk do jednoho dokumentu

Ahoj,

mám excel o 36 listech. Potřebuji ze všech listů vytvořit jeden pdf dokument.
Zvolím tedy tisk celého sešitu. Vytvoří se mi však celkem tři dokumenty pdf po cca 21KB.
Kde mám možnost nastavit, aby se vytvořil pouze jeden dokument a nerozděloval mi to na tři?
Používám verzi 1.65.
Díky za rady.

ludek
Offline
Joined: 18.11.07 8:34
Re: Tisk do jednoho dokumentu

Dobrý den,

můžete napsat, jak přesně postupujete?

pdfFactory neumí sám o sobě rozdělit tisk do více pdf souborů. Pokud Excel tiskne jednotlivé listy sešitu jako samostatné tiskové úlohy, potom stačí nezavírat okno pdfFactory mezi jednotlivými tisky a pdf soubor uložit až po vytištění všech listů. Tím budou jednotlivé tiskové úlohy v pdfFactory sloučeny do jednoho pdf souboru.

Luděk Mokrý
Mokry Systems, s.r.o.

KacerT
Offline
Joined: 28.04.11 11:20
Re: Tisk do jednoho dokumentu

Vše řídím z Visual Studia pomocí jazyku C#. Abych to popsal podrobněji, tak naplním onen excel daty, které různě formátuji a rozděluji do několika listů.
Poté si přes registr nastavím klíče FinePrint, aby se nezobrazoval dialog (hodnota 4) a nastavím defaultní cestu (AutoSaveDir), kam se má dokument uložit. Následně spustím tisk celého excelovského souboru (nikoli po jednotlivých listech. Tím bych měl i 36 dokumentů, ne jen tři). V dalším kroku vrátím zase přes registr původní nastavení FinePrint. A jako poslední věc zobrazím uživateli dokument.
Vše běží na pozadí, takže uživatel aplikace jen klikne na tlačítko a po určité době se mu zobrazí na obrazovce dokument pdf.
Problém ale je, že se ten tisk provede právě do tří souborů. Dočasně jsem to vyřešil nastavením dialogu na hodnotu 2 ("ne - zobrazit PDF soubor"), čímž docílím toho, že se zobrazí všechny tři dokumenty.
Zajímavostí je, že když tisk přes pdfFactory provedu ručně, tak se mi vytvoří pouze jeden dokument.

Děkuji za pomoc.

ludek
Offline
Joined: 18.11.07 8:34
Re: Tisk do jednoho dokumentu

Při tisku bez zobrazení okna pdfFactory vytváří soubor ke každé tiskové úloze, pokud v registru není nastaveno do jakého souboru se má pdf uložit, standardně se vytváří jméno souboru ze jména tiskové úlohy. Jak se jmenují vytvořené soubory?

Jsou dvě možnosti. Buď je v pdfFactory verze 1 chyba, která si vytváří soubory jak chce, nebo Excel posílá dokument na tiskárnu ve více tiskových úlohách. Pokud je ve verzi 1 chyba, tak s tím se nic nedá dělat, verze 1 byla nahrazena verzí 2 před 8 lety. To že tiskne do pdfFactory okna vše najednou nic neznamená, pdfFactory načítá úlohy za sebe, dokud se okno nezavře, takže to nepoznáte.

Zjistěte si počet tiskových úloh, které Excel používá a vyzkoušejte i poslední verzi pdfFactory Pro. Pro verze zobrazuje seznam tiskových úloh, tím lehce zjistíte, jak to Excel posílá.

Zkuste také použít OutputFile v registru. Tato položka musí obsahovat jméno souboru vč. cesty a nastavuje se před každým tiskem. pdfFactory tuto položku smaže, až dokončí tisk úlohy a tím také v aplikaci poznáte, že je hotovo. Více na straně http://fineprint.com/pdfsupport-topic/pdffactory-developer-kit/.

Luděk Mokrý
Mokry Systems, s.r.o.

KacerT
Offline
Joined: 28.04.11 11:20
Re: Tisk do jednoho dokumentu

Název souboru neřeším, proto nechávám zvolení názvu na samotném excelu. Pokud není otevřené zrovna žádné nepojmenované okno, tak excel udělí sešitu název "Sešit1.xls"

Po tisku se vytvoří právě tři soubory, které mají název: Sešit1.pdf, Sešit1_1.pdf a Sešit1_2.pdf

Když si nechám zobrazené dialogové okno, tak to v titulku okna vypíše, že budou provedeny tři tiskové úlohy.

Bohužel zákazník využívá registrovanou verzi 1.65, takže pokud je tam chyba, tak s tím nic neudělám.

Řešení ještě je, že data v excelu nebudu ukládat zvlášť na jednotlivé listy, ale nechám je pouze na jednom. To mám odzkoušené, že je pak pdfFactory zobrazí v jednom dokumentu. Rozdělením na více listů jsem si ale ulehčoval práci s "odstránkováním" dat. Takhle budu muset řešit "přelévání" dat na další stránku nějak programově.

Pokud Vás napadne ještě nějaké řešení, budu určitě rád. Jinak Vám děkuji za odpovědi a Váš čas.

ludek
Offline
Joined: 18.11.07 8:34
Re: Tisk do jednoho dokumentu

V podstatě sám jste odpověděl na to, kde je problém:

"Když si nechám zobrazené dialogové okno, tak to v titulku okna vypíše, že budou provedeny tři tiskové úlohy."

Tedy chyba není v pdfFactory. Excel netiskne celý sešit jako jednu úlohu, ale rozdělí tisk na více úloh. pdfFactory potom samozřejmě pro každou úlohu vytvoří v automatickém režimu jeden soubor. Hledal bych tedy nějaké řešení jak přinutit Excel vytisknout vše jako jednu úlohu.

Např. http://forums.primopdf.com/showthread.php?t=156:

ISSUE RESOLUTION:
When printing, Excel will split worksheets within a workbook into separate print jobs if the resolutions are different. Normally, when printing to a real printer, this is of no concern. The pages come out sequentially and the user doesn't care that each page may have been a separate print job.
If "printing" to a PDF, using Adobe Acrobat or other PDF creation software, however, the temporary file needed for creation of the PDF file may be overwritten and only contain the LAST print job.

SOLUTION:
Do the following for EVERY worksheet page in your Excel workbook: File~Page Setup. On the "Page" tab, set the "Print Quality" to be identical on every page.

Luděk Mokrý
Mokry Systems, s.r.o.

KacerT
Offline
Joined: 28.04.11 11:20
Re: Tisk do jednoho dokumentu

Úžasný! :-)

Skutečně byl problém v excelu. Nevím proč, ale některé listy měly nastavenou kvalitu tisku na 300dpi a jiné zase na 600dpi. Tím pdfFactory rozdělila tisk zvlášť do jednotlivých úloh.
Provedl jsem tedy nastavení kvality tisku na všech listech stejné a problém je vyřešený :-)

Moc díky za nasměrování!