Loading...
zarkoNGU avatar zarkoNGU 21 Точки

[Homework] Java Basics - Introduction - Problem {9} - Generate a PDF file

Здравейте, моля някой да ми обясни просто казано защо нищо не се получава със задачата ми,къде бъркам ? Намерих iText, прикачих библиотеката, създавам нов class (нали в клас файл ? ). Реших да използвам решението на TR00PER92 тук , да го направя и после вече да си поиграя с неговите команди и други в нета. Пиша кода, но пдф файла извън папката седи на 0 байта, предполагам,че е заради фонта,защото на конзолата ми изписва: java.io.IOException: /home/developer/workspace/TIMES.ttf not found as file or resource.  .Пробвах само с името на ttf файла, с път към него, преместил съм фонта от Уиндоуса при линукса, пробвах с път от Уиндоуса C:/Windows/Font... , но нищо. Винаги ми дава ексепшън. Ако пробвам да отворя пдф файла с програма ( GIMP Image Editor - предположих може да няма Adobe на линукс затова изтеглих първата онлайн програма,която ми намери за отваряне на пдф файлове).Предполагам правя някой елементарна грешка, но дали от преумора,дали от много псуване нямам никакви идеи какво да правя.
Ще съм Ви много благодарен колеги ако ми помогнете :)

Тагове:
3
Java Advanced 15/09/2014 21:46:12
Tr00peR avatar Tr00peR 566 Точки

Когато пробваш само с името на файла без път, копираш ли фонта в папкта на проекта?

2
zarkoNGU avatar zarkoNGU 21 Точки

Да, това беше първото, което пробвах

0
Tr00peR avatar Tr00peR 566 Точки

Главни-малки букви в името да си разместил?

1
zarkoNGU avatar zarkoNGU 21 Точки
TTF било с големи букви, кой да предположи, че не го чете,защото аз съм го написал .ttf . Мерси много
0
nikolay.dimov83 avatar nikolay.dimov83 143 Точки

Версията на PDf-a? Реших задачата на новия комп. Jar-нах и пробвах на стария - генерира файл с 0 байта големина. Нямам еклипс на стария и не мога да видя какво ще ми изпише конзолата. Довечера ще разръчкам, но подозирам, че е заради стария версия на reader-a.

0
Dekameron avatar Dekameron 481 Точки

Първо провери къде ти е times.ttf. Виж самия код и ако изглежда така:

BaseFont baseFont = BaseFont.createFont("times.ttf", BaseFont.IDENTITY_H, true);

то times.ttf трябва да ти е в папката на проекта (C:\Users\YourName\JavaProjects\Intro-Java-Homework примерно)

Ако ти дава ексепшън само за times.ttf то възможните грешки са тези, или със самия код, или с това къде ти се намира файла. Трябва да ги синхронизираш.

Ако все още не работи направи скрийншотс и ги постни тук. smile

 

2
zarkoNGU avatar zarkoNGU 21 Точки

Не беше от версиите, всичко ми е на последна версия. Проблема беше, че като извлеча фонт файла на линукса автоматично ми ги прави големи букви, но аз това го бях забелязал и във файла си го пиша с големи букви, НО кой да се съобрази,че и TTF трябва да е с големи букви... 4 часа четене,ровене,псуване и то само защото аз пиша .ttf  ,а файла като съм го преместил станал  .ttF  :) 
Благодаря Ви за бързите отговори колеги.

0
Tr00peR avatar Tr00peR 566 Точки

Радвам се, че бързо решихме проблема. :)

0
f1mp3r avatar f1mp3r 35 Точки

Някой може ли да помогне малко с изваждането на символите (♥,♦,♣,♠).

Това е кода ми. Всичко е окей, освен че не показва тези символи :?

2
Gondars avatar Gondars 18 Точки

И при мен го имаше този проблем , явно е от самият PDF -reader който имаш . Със вграденият на Win8 липсваха , но със LibreOffice си тръгна перфектно :>

0
f1mp3r avatar f1mp3r 35 Точки

И със него е същото :S

Windows 7 Ultimate, Eclipse 4

0
Tr00peR avatar Tr00peR 566 Точки

И на конзолата ли не излизат или само във файла?

0
Hristo_Penchev avatar Hristo_Penchev 389 Точки

И аз не мога да се оправя с файла нещо. Ето кода ми:

http://pastebin.com/GdD2z9f7

 

Като стартирам програмата с F11 от Еклипс ми дава следната грешка:

ExceptionConverter: java.io.IOException: The document has no pages.
    at com.itextpdf.text.pdf.PdfPages.writePageTree(PdfPages.java:113)
    at com.itextpdf.text.pdf.PdfWriter.close(PdfWriter.java:1269)
    at com.itextpdf.text.pdf.PdfDocument.close(PdfDocument.java:882)
    at com.itextpdf.text.Document.close(Document.java:416)
    at PDFTest.main(PDFTest.java:15)

 

Когато дам десен бутон на самия проект и рефреш, файл се генерира. Обаче самият файл е 15 байта и ми дава грешка при опит да го отворя.

0
Filkolev avatar Filkolev 4482 Точки

Да, и на мен ми се случи. Това става защото реално нищо не си писал по документа - ти имаш параграф, но не си го добавил къ файла. Трябва да дадеш decks.add(cards) примерно и след това трябва да стане.

0
simeon.georgiev avatar simeon.georgiev 62 Точки

Когато задаваш фонта трябва да включиш BaseFont.IDENTITY_H. Например така: BaseFont baseFont = BaseFont.createFont("Arial.ttf", BaseFont.IDENTITY_H, BaseFont.EMBEDDED);

0
JulianMarinov avatar JulianMarinov 11 Точки

Ще направя едно уточнение към коментара на колегата. За да заработи е важно "Arial.ttf" да се схване не като име на фонт, а  като за относителен/абсолютен път до фонта към папката в която е сложен в проекта. При мен например е в "src/fonts/FreeSerif.ttf" и вади символите на картите без проблем. 

1
simeon.georgiev avatar simeon.georgiev 62 Точки

Да, или просто пействаш ttf-a в папката на проекта.

1
Dimitar.Stoyanov avatar Dimitar.Stoyanov 2 Точки

И аз имам същия проблем не ми излизат картинките на боите на картите и не знам как да задам пътя до ttf файла които имам с картинките може ли да ми разясните какво точно трябва да се направи?

 

0
08/09/2014 18:25:27
AntonPortenov avatar AntonPortenov 102 Точки

Здравейте,

 

заиграх се с картите и искам да ги докарам до истинските, но имам малък проблем на който за сега не намирам решение.

Как мога да ротирам определен параграф без това да оказва влияние на останалата клетка.

 

прилагам и кода ми

http://pastebin.com/552nssYV

0
05/02/2016 23:18:40
Можем ли да използваме бисквитки?
Ние използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Можете да се съгласите с всички или част от тях.
Назад
Функционални
Използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Използваме „сесийни“ бисквитки, за да Ви идентифицираме временно. Те се пазят само по време на активната употреба на услугите ни. След излизане от приложението, затваряне на браузъра или мобилното устройство, данните се трият. Използваме бисквитки, за да предоставим опцията „Запомни Ме“, която Ви позволява да използвате нашите услуги без да предоставяте потребителско име и парола. Допълнително е възможно да използваме бисквитки за да съхраняваме различни малки настройки, като избор на езика, позиции на менюта и персонализирано съдържание. Използваме бисквитки и за измерване на маркетинговите ни усилия.
Рекламни
Използваме бисквитки, за да измерваме маркетинг ефективността ни, броене на посещения, както и за проследяването дали дадено електронно писмо е било отворено.