protected void createPdf(String filename)
throws IOException, DocumentException, SQLException {
// Open the database connection
DatabaseConnection connection = new HsqldbConnection("filmfestival");
// step 1
Document document = new Document();
// step 2
PdfWriter.getInstance(document, new FileOutputStream(filename));
// step 3
document.open();
// step 4
// Add text with a local destination
Paragraph p = new Paragraph();
Chunk top = new Chunk("Country List", FilmFonts.BOLD);
top.setLocalDestination("top");
p.add(top);
document.add(p);
// Add text with a link to an external URL
Chunk imdb = new Chunk("Internet Movie Database", FilmFonts.ITALIC);
imdb.setAction(new PdfAction(new URL("http://www.imdb.com/")));
p = new Paragraph(
"Click on a country, and you'll get a list of movies, containing links to the ");
p.add(imdb);
p.add(".");
document.add(p);
// Add text with a remote goto
p = new Paragraph("This list can be found in a ");
Chunk page1 = new Chunk("separate document");
page1.setAction(new PdfAction("movie_links_1.pdf", 1));
p.add(page1);
p.add(".");
document.add(p);
document.add(Chunk.NEWLINE);
// Get a list with countries from the database
Statement stm = connection.createStatement();
ResultSet rs = stm.executeQuery(
"SELECT DISTINCT mc.country_id, c.country, count(*) AS c "
+ "FROM film_country c, film_movie_country mc WHERE c.id = mc.country_id "
+ "GROUP BY mc.country_id, country ORDER BY c DESC");
// Loop over the countries
while (rs.next()) {
Paragraph country = new Paragraph(rs.getString("country"));
country.add(": ");
Chunk link = new Chunk(String.format("%d movies", rs.getInt("c")));
link.setAction(
PdfAction.gotoRemotePage("movie_links_1.pdf", rs.getString("country_id"), false, true));
country.add(link);
document.add(country);
}
document.add(Chunk.NEWLINE);
// Add text with a local goto
p = new Paragraph("Go to ");
top = new Chunk("top");
top.setAction(PdfAction.gotoLocalPage("top", false));
p.add(top);
p.add(".");
document.add(p);
// step 5
document.close();
// Close the database connection
connection.close();
}
Для использования переадресации ловушки, войдите в систему в качестве администратора и перейдите в Меню>Аdmin>Администратор сервера>Алерты и включите "Отправлять предупреждения в SNMP Trap Manager", а также установите значения SNMP Community и SNMP Destination (Узел SNMP).
После их установки, HUP демона syslog-ng и наслаждайтесь :-)[1122901]. Для тех, кто все еще задается вопросом, как реализовать баннер во время входа в систему, я сделал это:
touch /etc/dconf/db/local.d/20-login
Поместите следующую конфигурацию в этот файл
[org/gnome/login-screen]
banner-message-enable=true
banner-message-text='My warning banner!'
Удалить /etc/dconf/db/local:rm -f /etc/dconf/db/local
dconf update
Раскомментируйте следующие строки в /etc/gdm3/greeter.dconf-defaults
и отредактируйтеbanner-message-text
[org/gnome/login-screen]
banner-message-enable=true
banner-message-text='Welcome!'
Затем перезапустите gdmsystemctl restart gdm