我正在使用PDFBox,以下代码:
doc = new PDDocument();
page = new PDPage();
doc.addPage(page);
PDFont font = PDType1Font.COURIER;
pdftitle = new PDPageContentStream(doc, page);
pdftitle.beginText();
pdftitle.setFont( font, 12 );
pdftitle.moveTextPositionByAmount( 40, 740 );
pdftitle.drawString("Here I insert a lot of text");
pdftitle.endText();
pdftitle.close();
Run Code Online (Sandbox Code Playgroud)
有谁知道如何包装文本,以便它自动转到另一行?非常感谢!
我正在尝试创建一个PDF文件,其中包含文档中的大量文本框和来自其他类的文本框.我正在使用PDFBox.
好的,创建一个新文件很简单,编写一行文本很容易.现在,当我尝试插入下一个文本行或文本字段时,它会覆盖内容.
PDDocument doc = null;
PDPage page = null;
try{
doc = new PDDocument();
page = new PDPage();
doc.addPage(page);
PDFont font = PDType1Font.HELVETICA_BOLD;
PDPageContentStream title = new PDPageContentStream(doc, page);
title.beginText();
title.setFont( font, 14 );
title.moveTextPositionByAmount( 230, 720 );
title.drawString("DISPATCH SUMMARY");
title.endText();
title.close();
PDPageContentStream title1 = new PDPageContentStream(doc, page);
title1.beginText();
title1.setFont( font, 11 );
title1.moveTextPositionByAmount( 30, 620 );
title1.drawString("DEPARTURE");
title1.endText();
title1.close();
doc.save("PDFWithText.pdf");
doc.close();
} catch (Exception e){
System.out.println(e);
}
Run Code Online (Sandbox Code Playgroud)
它确实给了我一个错误:"你正在覆盖现有内容,你应该使用追加模式".
所以我在尝试title1.appendRawCommands(String),但它没有用.
如何添加新文本框和文本字段(来自其他类)?我已经在互联网上阅读了几十个教程,但他们只展示创建一行.
我有以下文本文件结构(文本文件很大,大约100,000行):
A|a1|111|111|111
B|111|111|111|111
A|a2|222|222|222
B|222|222|222|222
B|222|222|222|222
A|a3|333|333|333
B|333|333|333|333
...
Run Code Online (Sandbox Code Playgroud)
我需要提取一段与给定键相关的文本.例如,如果我的密钥是A | a2,我需要将以下内容保存为字符串:
A|a2|222|222|222
B|222|222|222|222
B|222|222|222|222
Run Code Online (Sandbox Code Playgroud)
对于我的C++和Objective C项目,我使用了C++ getline函数,如下所示:
std::ifstream ifs(dataPathStr.c_str());
NSString* searchKey = @"A|a2";
std::string search_string ([searchKey cStringUsingEncoding:NSUTF8StringEncoding]);
// read and discard lines from the stream till we get to a line starting with the search_string
std::string line;
while( getline( ifs, line ) && line.find(search_string) != 0 );
// check if we have found such a line, if not report an error
if( line.find(search_string) != 0 )
{
data = …Run Code Online (Sandbox Code Playgroud) 我用它来在Swift中对数组中的组件进行排序:
myArray = myArray.sorted { $0.localizedCaseInsensitiveCompare($1) == NSComparisonResult.OrderedAscending }
Run Code Online (Sandbox Code Playgroud)
但是,它给了我以下结果:
[18C, 18L, 18R, 22, 24, 27, 36C, 36L, 36R, 4, 6, 9]
Run Code Online (Sandbox Code Playgroud)
是否有可能以正确的方式对其进行排序,即
[4, 6, 9, 18C, 18L, 18R, 22, 24, 27, 36C, 36L, 36R]
Run Code Online (Sandbox Code Playgroud) 我遇到了一个我最初认为很容易解决的问题!
我有一个包含4个值的枚举(空,男,女,小).我有一个对应50个座位的阵列.所以,我想根据随机生成的座位号码将男人,女人和孩子放在空座位上.如果座位不为空,则程序应继续搜索其他空座位.
这就是我所拥有的:
#include <cstdlib>
#include <ctime>
#include <iostream>
#include <string>
using namespace std;
enum pax {E, M, F, C};
pax seats[50] = {E, E, E, E, E, E, E, E, E, E, E, E, E, E, E, E, E, E, E, E, E, E, E, E, E,
E, E, E, E, E, E, E, E, E, E, E, E, E, E, E, E, E, E, E, E, E, E, E, E, E};
int paxNumMaleTotal; // Total number of Male …Run Code Online (Sandbox Code Playgroud) 我有以下字节数组:01010110 01110100 00100101 01001011
这些字节分为两组以编码七个整数。我知道第一组由 3 个值组成,每个值 4 位(0101 0110 0111),代表数字 5、6、7。第二组由 4 个值组成,每个值 5 位 (01000 01001 01010 01011),代表整数 8、9、10 和 11。
为了提取整数,我目前使用以下方法。将数组转换为二进制字符串:
public static String byteArrayToBinaryString(byte[] byteArray)
{
String[] arrayOfStrings = new String[byteArray.length];
for(int i=0; i<byteArray.length; i++)
{
arrayOfStrings[i] = byteToBinaryString(byteArray[i]);
}
String bitsetString = "";
for(String testArrayStringElement : arrayOfStrings)
{
bitsetString += testArrayStringElement;
}
return bitsetString;
}
// Taken from here: http://helpdesk.objects.com.au/java/converting-large-byte-array-to-binary-string
public static String byteToBinaryString(byte byteIn)
{
StringBuilder sb = new StringBuilder("00000000");
for (int bit = …Run Code Online (Sandbox Code Playgroud)